Squashed commit of the following: commit eb55e94ed89a1b8ccd1db10a36efd28d8896f316 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Thu Jan 24 18:45:00 2019 +0000 Remove un-needed use statments, fix tests now we have 2 articles commit f1c12c1b43d071fe0484407a9692ee4184542437 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Wed Jan 23 19:39:56 2019 +0000 Remove prism files commit 3a1d12d9181600f661593c662dbc18d152413b28 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Wed Jan 23 19:39:24 2019 +0000 Use the new css file in the search page commit 119b6b5163c217a15770004a45b07bacdfb766f0 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Wed Jan 23 19:36:14 2019 +0000 Recompress assets commit afae245d0211dd31fcc131cecb0fab4084895612 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sun Jan 20 19:33:56 2019 +0000 Style codeblocks in articles as well commit 53be0a2023755c2f16ba1560d88f9c66675b581d Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sun Jan 20 19:23:25 2019 +0000 Styled codeblocks are now on the notes pages commit 818add06f349874501cc44baf332dc63dfdcfab1 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sun Jan 20 19:08:56 2019 +0000 Install spatie’s commonmark highlighter, use it for notes commit fb69d98b2bd3bb56540854fe16200c027e5ef6b2 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sun Jan 20 18:54:27 2019 +0000 Remove links to prism code in the notes pages commit dc89fcd4711b25e8407be9b25b58cd4cd1e9980e Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sun Jan 20 18:54:11 2019 +0000 Add a note to the seeder which has a code block
72 lines
2 KiB
PHP
72 lines
2 KiB
PHP
<?php
|
|
|
|
namespace Tests\Unit;
|
|
|
|
use Tests\TestCase;
|
|
use App\Models\Article;
|
|
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
|
|
|
class ArticlesTest extends TestCase
|
|
{
|
|
use DatabaseTransactions;
|
|
|
|
public function test_sluggable_method()
|
|
{
|
|
$article = new Article();
|
|
$article->title = 'My Title';
|
|
$article->main = 'Content';
|
|
$article->save();
|
|
|
|
$this->assertEquals('my-title', $article->titleurl);
|
|
}
|
|
|
|
public function test_markdown_conversion()
|
|
{
|
|
$article = new Article();
|
|
$article->main = 'Some *markdown*';
|
|
|
|
$this->assertEquals('<p>Some <em>markdown</em></p>'.PHP_EOL, $article->html);
|
|
}
|
|
|
|
public function test_time_attributes()
|
|
{
|
|
$article = Article::create([
|
|
'title' => 'Test',
|
|
'main' => 'test',
|
|
]);
|
|
|
|
$this->assertEquals($article->w3c_time, $article->updated_at->toW3CString());
|
|
$this->assertEquals($article->tooltip_time, $article->updated_at->toRFC850String());
|
|
$this->assertEquals($article->human_time, $article->updated_at->diffForHumans());
|
|
$this->assertEquals($article->pubdate, $article->updated_at->toRSSString());
|
|
}
|
|
|
|
public function test_link_accessor()
|
|
{
|
|
$article = Article::create([
|
|
'title' => 'Test',
|
|
'main' => 'Test',
|
|
]);
|
|
$article->title = 'Test Title';
|
|
|
|
$this->assertEquals(
|
|
'/blog/' . date('Y') . '/' . date('m') . '/test',
|
|
$article->link
|
|
);
|
|
}
|
|
|
|
public function test_date_scope()
|
|
{
|
|
$yearAndMonth = Article::date(date('Y'), date('m'))->get();
|
|
$this->assertTrue(count($yearAndMonth) === 2);
|
|
|
|
$monthDecember = Article::date(date('Y') - 1, 12)->get();
|
|
$this->assertTrue(count($monthDecember) === 0);
|
|
|
|
$monthNotDecember = Article::date(date('Y') - 1, 1)->get();
|
|
$this->assertTrue(count($monthNotDecember) === 0);
|
|
|
|
$emptyScope = Article::date()->get();
|
|
$this->assertTrue(count($emptyScope) === 2);
|
|
}
|
|
}
|