X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/483cb41665c9d5994b47c762670d5fd98188cf14..refs/pull/2734/head:/tests/AuditLogTest.php diff --git a/tests/AuditLogTest.php b/tests/AuditLogTest.php index 94eb02599..55a458786 100644 --- a/tests/AuditLogTest.php +++ b/tests/AuditLogTest.php @@ -2,14 +2,24 @@ use BookStack\Actions\Activity; use BookStack\Actions\ActivityService; +use BookStack\Actions\ActivityType; use BookStack\Auth\UserRepo; -use BookStack\Entities\Managers\TrashCan; -use BookStack\Entities\Page; +use BookStack\Entities\Models\Chapter; +use BookStack\Entities\Tools\TrashCan; +use BookStack\Entities\Models\Page; use BookStack\Entities\Repos\PageRepo; use Carbon\Carbon; class AuditLogTest extends TestCase { + /** @var ActivityService */ + protected $activityService; + + public function setUp(): void + { + parent::setUp(); + $this->activityService = app(ActivityService::class); + } public function test_only_accessible_with_right_permissions() { @@ -34,7 +44,7 @@ class AuditLogTest extends TestCase $admin = $this->getAdmin(); $this->actingAs($admin); $page = Page::query()->first(); - app(ActivityService::class)->add($page, 'page_create', $page->book->id); + $this->activityService->addForEntity($page, ActivityType::PAGE_CREATE); $activity = Activity::query()->orderBy('id', 'desc')->first(); $resp = $this->get('settings/audit'); @@ -49,7 +59,7 @@ class AuditLogTest extends TestCase $this->actingAs( $this->getAdmin()); $page = Page::query()->first(); $pageName = $page->name; - app(ActivityService::class)->add($page, 'page_create', $page->book->id); + $this->activityService->addForEntity($page, ActivityType::PAGE_CREATE); app(PageRepo::class)->destroy($page); app(TrashCan::class)->empty(); @@ -64,7 +74,7 @@ class AuditLogTest extends TestCase $viewer = $this->getViewer(); $this->actingAs($viewer); $page = Page::query()->first(); - app(ActivityService::class)->add($page, 'page_create', $page->book->id); + $this->activityService->addForEntity($page, ActivityType::PAGE_CREATE); $this->actingAs($this->getAdmin()); app(UserRepo::class)->destroy($viewer); @@ -77,7 +87,7 @@ class AuditLogTest extends TestCase { $this->actingAs($this->getAdmin()); $page = Page::query()->first(); - app(ActivityService::class)->add($page, 'page_create', $page->book->id); + $this->activityService->addForEntity($page, ActivityType::PAGE_CREATE); $resp = $this->get('settings/audit'); $resp->assertSeeText($page->name); @@ -90,7 +100,7 @@ class AuditLogTest extends TestCase { $this->actingAs($this->getAdmin()); $page = Page::query()->first(); - app(ActivityService::class)->add($page, 'page_create', $page->book->id); + $this->activityService->addForEntity($page, ActivityType::PAGE_CREATE); $yesterday = (Carbon::now()->subDay()->format('Y-m-d')); $tomorrow = (Carbon::now()->addDay()->format('Y-m-d')); @@ -108,4 +118,26 @@ class AuditLogTest extends TestCase $resp->assertDontSeeText($page->name); } + public function test_user_filter() + { + $admin = $this->getAdmin(); + $editor = $this->getEditor(); + $this->actingAs($admin); + $page = Page::query()->first(); + $this->activityService->addForEntity($page, ActivityType::PAGE_CREATE); + + $this->actingAs($editor); + $chapter = Chapter::query()->first(); + $this->activityService->addForEntity($chapter, ActivityType::CHAPTER_UPDATE); + + $resp = $this->actingAs($admin)->get('settings/audit?user=' . $admin->id); + $resp->assertSeeText($page->name); + $resp->assertDontSeeText($chapter->name); + + $resp = $this->actingAs($admin)->get('settings/audit?user=' . $editor->id); + $resp->assertSeeText($chapter->name); + $resp->assertDontSeeText($page->name); + + } + } \ No newline at end of file