示例#1
0
 public function test_page_create_all_permissions()
 {
     $book = \BookStack\Book::take(1)->get()->first();
     $chapter = \BookStack\Chapter::take(1)->get()->first();
     $baseUrl = $book->getUrl() . '/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')->press('Save Page')->seePageIs($baseUrl . '/test-page');
     $this->visit($chapter->getUrl() . '/create-page')->type('new test page', 'name')->type('page desc', 'html')->press('Save Page')->seePageIs($baseUrl . '/new-test-page');
 }