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.');
+ }
}