X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/968bc8cdf354d9cbe29b88abdc747a7845031fab..refs/pull/5676/head:/tests/Entity/PageTest.php diff --git a/tests/Entity/PageTest.php b/tests/Entity/PageTest.php index daad82e76..d2c448bf4 100644 --- a/tests/Entity/PageTest.php +++ b/tests/Entity/PageTest.php @@ -86,6 +86,32 @@ class PageTest extends TestCase $resp->assertSee('# a title'); } + public function test_page_creation_allows_summary_to_be_set() + { + $book = $this->entities->book(); + + $this->asEditor()->get($book->getUrl('/create-page')); + $draft = Page::query()->where('book_id', '=', $book->id) + ->where('draft', '=', true)->first(); + + $details = [ + 'html' => '

a title

', + 'name' => 'My page with summary', + 'summary' => 'Here is my changelog message for a new page!', + ]; + $resp = $this->post($book->getUrl("/draft/{$draft->id}"), $details); + $resp->assertRedirect(); + + $this->assertDatabaseHas('page_revisions', [ + 'page_id' => $draft->id, + 'summary' => 'Here is my changelog message for a new page!', + ]); + + $draft->refresh(); + $resp = $this->get($draft->getUrl('/revisions')); + $resp->assertSee('Here is my changelog message for a new page!'); + } + public function test_page_delete() { $page = $this->entities->page(); @@ -274,7 +300,7 @@ class PageTest extends TestCase ]); $resp = $this->asAdmin()->get('/pages/recently-updated'); - $this->withHtml($resp)->assertElementContains('.entity-list .page:nth-child(1)', 'Updated 1 second ago by ' . $user->name); + $this->withHtml($resp)->assertElementContains('.entity-list .page:nth-child(1) small', 'by ' . $user->name); } public function test_recently_updated_pages_view_shows_parent_chain() @@ -330,4 +356,14 @@ class PageTest extends TestCase $resp = $this->get('/'); $this->withHtml($resp)->assertElementContains('#recently-updated-pages', $page->name); } + + public function test_page_edit_without_update_permissions_but_with_view_redirects_to_page() + { + $page = $this->entities->page(); + + $resp = $this->asViewer()->get($page->getUrl('/edit')); + $resp->assertRedirect($page->getUrl()); + + $resp->assertSessionHas('error', 'You do not have permission to access the requested page.'); + } }