]> BookStack Code Mirror - bookstack/blobdiff - tests/Entity/PageRevisionTest.php
Revisions: Hid changes link for oldest revision
[bookstack] / tests / Entity / PageRevisionTest.php
index 0749888c833d698ec7e3efe11ac8fb9c05007f32..9040254f78fdaaa3add672531032548edb8e7e1c 100644 (file)
@@ -2,7 +2,7 @@
 
 namespace Tests\Entity;
 
-use BookStack\Actions\ActivityType;
+use BookStack\Activity\ActivityType;
 use BookStack\Entities\Models\Page;
 use Tests\TestCase;
 
@@ -136,7 +136,7 @@ class PageRevisionTest extends TestCase
         $page = $this->entities->page();
         $this->createRevisions($page, 2);
 
-        $pageView = $this->get($page->getUrl());
+        $pageView = $this->asViewer()->get($page->getUrl());
         $pageView->assertSee('Revision #' . $page->revision_count);
     }
 
@@ -203,18 +203,30 @@ class PageRevisionTest extends TestCase
         $this->withHtml($resp)->assertElementContains('.item-list-row > div:nth-child(2)', 'Markdown)');
     }
 
+    public function test_revision_changes_link_not_shown_for_oldest_revision()
+    {
+        $page = $this->entities->page();
+        $this->createRevisions($page, 3, ['html' => 'new page html']);
+
+        $resp = $this->asAdmin()->get($page->refresh()->getUrl('/revisions'));
+        $html = $this->withHtml($resp);
+
+        $html->assertElementNotExists('.item-list > .item-list-row:last-child a[href*="/changes"]');
+        $html->assertElementContains('.item-list > .item-list-row:nth-child(2)', 'Changes');
+    }
+
     public function test_revision_restore_action_only_visible_with_permission()
     {
         $page = $this->entities->page();
         $this->createRevisions($page, 2);
 
-        $viewer = $this->getViewer();
+        $viewer = $this->users->viewer();
         $this->actingAs($viewer);
         $respHtml = $this->withHtml($this->get($page->getUrl('/revisions')));
         $respHtml->assertElementNotContains('.actions a', 'Restore');
         $respHtml->assertElementNotExists('form[action$="/restore"]');
 
-        $this->giveUserPermissions($viewer, ['page-update-all']);
+        $this->permissions->grantUserRolePermissions($viewer, ['page-update-all']);
 
         $respHtml = $this->withHtml($this->get($page->getUrl('/revisions')));
         $respHtml->assertElementContains('.actions a', 'Restore');
@@ -226,13 +238,13 @@ class PageRevisionTest extends TestCase
         $page = $this->entities->page();
         $this->createRevisions($page, 2);
 
-        $viewer = $this->getViewer();
+        $viewer = $this->users->viewer();
         $this->actingAs($viewer);
         $respHtml = $this->withHtml($this->get($page->getUrl('/revisions')));
         $respHtml->assertElementNotContains('.actions a', 'Delete');
         $respHtml->assertElementNotExists('form[action$="/delete"]');
 
-        $this->giveUserPermissions($viewer, ['page-delete-all']);
+        $this->permissions->grantUserRolePermissions($viewer, ['page-delete-all']);
 
         $respHtml = $this->withHtml($this->get($page->getUrl('/revisions')));
         $respHtml->assertElementContains('.actions a', 'Delete');