mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-07-31 15:24:31 +03:00
@ -88,8 +88,11 @@ class EntityTest extends TestCase
|
||||
$this->asAdmin()
|
||||
// Navigate to page create form
|
||||
->visit($chapter->getUrl())
|
||||
->click('New Page')
|
||||
->seePageIs($chapter->getUrl() . '/create-page')
|
||||
->click('New Page');
|
||||
|
||||
$draftPage = \BookStack\Page::where('draft', '=', true)->orderBy('created_at', 'desc')->first();
|
||||
|
||||
$this->seePageIs($draftPage->getUrl())
|
||||
// Fill out form
|
||||
->type($page->name, '#name')
|
||||
->type($page->html, '#html')
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
|
||||
class PageUpdateDraftTest extends TestCase
|
||||
class PageDraftTest extends TestCase
|
||||
{
|
||||
protected $page;
|
||||
protected $pageRepo;
|
||||
@ -59,4 +59,33 @@ class PageUpdateDraftTest extends TestCase
|
||||
->see('Admin has started editing this page');
|
||||
}
|
||||
|
||||
public function test_draft_pages_show_on_homepage()
|
||||
{
|
||||
$book = \BookStack\Book::first();
|
||||
$this->asAdmin()->visit('/')
|
||||
->dontSeeInElement('#recent-drafts', 'New Page')
|
||||
->visit($book->getUrl() . '/page/create')
|
||||
->visit('/')
|
||||
->seeInElement('#recent-drafts', 'New Page');
|
||||
}
|
||||
|
||||
public function test_draft_pages_not_visible_by_others()
|
||||
{
|
||||
$book = \BookStack\Book::first();
|
||||
$chapter = $book->chapters->first();
|
||||
$newUser = $this->getNewUser();
|
||||
|
||||
$this->actingAs($newUser)->visit('/')
|
||||
->visit($book->getUrl() . '/page/create')
|
||||
->visit($chapter->getUrl() . '/create-page')
|
||||
->visit($book->getUrl())
|
||||
->seeInElement('.page-list', 'New Page');
|
||||
|
||||
$this->asAdmin()
|
||||
->visit($book->getUrl())
|
||||
->dontSeeInElement('.page-list', 'New Page')
|
||||
->visit($chapter->getUrl())
|
||||
->dontSeeInElement('.page-list', 'New Page');
|
||||
}
|
||||
|
||||
}
|
@ -392,14 +392,28 @@ class RolesTest extends TestCase
|
||||
|
||||
$baseUrl = $ownBook->getUrl() . '/page';
|
||||
|
||||
$this->checkAccessPermission('page-create-own', [
|
||||
$baseUrl . '/create',
|
||||
$ownChapter->getUrl() . '/create-page'
|
||||
], [
|
||||
$createUrl = $baseUrl . '/create';
|
||||
$createUrlChapter = $ownChapter->getUrl() . '/create-page';
|
||||
$accessUrls = [$createUrl, $createUrlChapter];
|
||||
|
||||
foreach ($accessUrls as $url) {
|
||||
$this->actingAs($this->user)->visit('/')->visit($url)
|
||||
->seePageIs('/');
|
||||
}
|
||||
|
||||
$this->checkAccessPermission('page-create-own', [], [
|
||||
$ownBook->getUrl() => 'New Page',
|
||||
$ownChapter->getUrl() => 'New Page'
|
||||
]);
|
||||
|
||||
$this->giveUserPermissions($this->user, ['page-create-own']);
|
||||
|
||||
foreach ($accessUrls as $index => $url) {
|
||||
$this->actingAs($this->user)->visit('/')->visit($url);
|
||||
$expectedUrl = \BookStack\Page::where('draft', '=', true)->orderBy('id', 'desc')->first()->getUrl();
|
||||
$this->seePageIs($expectedUrl);
|
||||
}
|
||||
|
||||
$this->visit($baseUrl . '/create')
|
||||
->type('test page', 'name')
|
||||
->type('page desc', 'html')
|
||||
@ -421,14 +435,29 @@ class RolesTest extends TestCase
|
||||
$book = \BookStack\Book::take(1)->get()->first();
|
||||
$chapter = \BookStack\Chapter::take(1)->get()->first();
|
||||
$baseUrl = $book->getUrl() . '/page';
|
||||
$this->checkAccessPermission('page-create-all', [
|
||||
$baseUrl . '/create',
|
||||
$chapter->getUrl() . '/create-page'
|
||||
], [
|
||||
$createUrl = $baseUrl . '/create';
|
||||
|
||||
$createUrlChapter = $chapter->getUrl() . '/create-page';
|
||||
$accessUrls = [$createUrl, $createUrlChapter];
|
||||
|
||||
foreach ($accessUrls as $url) {
|
||||
$this->actingAs($this->user)->visit('/')->visit($url)
|
||||
->seePageIs('/');
|
||||
}
|
||||
|
||||
$this->checkAccessPermission('page-create-all', [], [
|
||||
$book->getUrl() => 'New Page',
|
||||
$chapter->getUrl() => 'New Page'
|
||||
]);
|
||||
|
||||
$this->giveUserPermissions($this->user, ['page-create-all']);
|
||||
|
||||
foreach ($accessUrls as $index => $url) {
|
||||
$this->actingAs($this->user)->visit('/')->visit($url);
|
||||
$expectedUrl = \BookStack\Page::where('draft', '=', true)->orderBy('id', 'desc')->first()->getUrl();
|
||||
$this->seePageIs($expectedUrl);
|
||||
}
|
||||
|
||||
$this->visit($baseUrl . '/create')
|
||||
->type('test page', 'name')
|
||||
->type('page desc', 'html')
|
||||
|
Reference in New Issue
Block a user