public function setUp()
{
parent::setUp();
- $this->user = $this->getNewBlankUser();
+ $this->user = $this->getViewer();
+ }
+
+ protected function getViewer()
+ {
+ $role = \BookStack\Role::getRole('viewer');
+ $viewer = $this->getNewBlankUser();
+ $viewer->attachRole($role);;
+ return $viewer;
}
/**
$this->asAdmin()->visit('/settings')
->click('Roles')
->seePageIs('/settings/roles')
- ->click('Add new role')
+ ->click('Create New Role')
->type('Test Role', 'display_name')
->type('A little test description', 'description')
->press('Save Role')
public function test_restrictions_manage_own_permission()
{
- $otherUsersPage = \BookStack\Page::take(1)->get()->first();
+ $otherUsersPage = \BookStack\Page::first();
$content = $this->createEntityChainBelongingToUser($this->user);
// Check can't restrict other's content
$this->actingAs($this->user)->visit($otherUsersPage->getUrl())
$this->checkAccessPermission('book-create-all', [
'/books/create'
], [
- '/books' => 'Add new book'
+ '/books' => 'Create New Book'
]);
$this->visit('/books/create')
->dontSeeInElement('.book-content', $otherPage->name);
}
+ public function test_public_role_visible_in_user_edit_screen()
+ {
+ $user = \BookStack\User::first();
+ $this->asAdmin()->visit('/settings/users/' . $user->id)
+ ->seeElement('#roles-admin')
+ ->seeElement('#roles-public');
+ }
+
+ public function test_public_role_visible_in_role_listing()
+ {
+ $this->asAdmin()->visit('/settings/roles')
+ ->see('Admin')
+ ->see('Public');
+ }
+
+ public function test_public_role_visible_in_default_role_setting()
+ {
+ $this->asAdmin()->visit('/settings')
+ ->seeElement('[data-role-name="admin"]')
+ ->seeElement('[data-role-name="public"]');
+
+ }
+
+ public function test_public_role_not_deleteable()
+ {
+ $this->asAdmin()->visit('/settings/roles')
+ ->click('Public')
+ ->see('Edit Role')
+ ->click('Delete Role')
+ ->press('Confirm')
+ ->see('Delete Role')
+ ->see('Cannot be deleted');
+ }
+
}