2021-02-12 06:42:36 +08:00
|
|
|
<?php namespace Tests\Commands;
|
|
|
|
|
|
|
|
use BookStack\Entities\Models\Page;
|
2021-03-21 00:25:02 +08:00
|
|
|
use Illuminate\Support\Facades\DB;
|
2021-02-12 06:42:36 +08:00
|
|
|
use Tests\TestCase;
|
|
|
|
|
|
|
|
class ClearViewsCommandTest extends TestCase
|
|
|
|
{
|
|
|
|
|
|
|
|
public function test_clear_views_command()
|
|
|
|
{
|
|
|
|
$this->asEditor();
|
|
|
|
$page = Page::first();
|
|
|
|
|
|
|
|
$this->get($page->getUrl());
|
|
|
|
|
|
|
|
$this->assertDatabaseHas('views', [
|
|
|
|
'user_id' => $this->getEditor()->id,
|
|
|
|
'viewable_id' => $page->id,
|
|
|
|
'views' => 1
|
|
|
|
]);
|
|
|
|
|
2021-03-21 00:25:02 +08:00
|
|
|
DB::rollBack();
|
2021-02-12 06:42:36 +08:00
|
|
|
$exitCode = \Artisan::call('bookstack:clear-views');
|
2021-03-21 00:25:02 +08:00
|
|
|
DB::beginTransaction();
|
2021-02-12 06:42:36 +08:00
|
|
|
$this->assertTrue($exitCode === 0, 'Command executed successfully');
|
|
|
|
|
|
|
|
$this->assertDatabaseMissing('views', [
|
|
|
|
'user_id' => $this->getEditor()->id
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|