]> BookStack Code Mirror - bookstack/blob - tests/RolesTest.php
Finished initial implementation of custom role system
[bookstack] / tests / RolesTest.php
1 <?php
2
3 class RolesTest extends TestCase
4 {
5     protected $user;
6
7     public function setUp()
8     {
9         parent::setUp();
10     }
11
12     protected function createNewRole()
13     {
14         return \BookStack\Role::forceCreate([
15             'name' => 'test-role',
16             'display_name' => 'Test Role',
17             'description' => 'This is a role for testing'
18         ]);
19     }
20
21     public function test_admin_can_see_settings()
22     {
23         $this->asAdmin()->visit('/settings')->see('Settings');
24     }
25
26     public function test_cannot_delete_admin_role()
27     {
28         $adminRole = \BookStack\Role::getRole('admin');
29         $deletePageUrl = '/settings/roles/delete/' . $adminRole->id;
30         $this->asAdmin()->visit($deletePageUrl)
31             ->press('Confirm')
32             ->seePageIs($deletePageUrl)
33             ->see('cannot be deleted');
34     }
35
36     public function test_role_cannot_be_deleted_if_default()
37     {
38         $newRole = $this->createNewRole();
39         $this->setSettings(['registration-role' => $newRole->id]);
40
41         $deletePageUrl = '/settings/roles/delete/' . $newRole->id;
42         $this->asAdmin()->visit($deletePageUrl)
43             ->press('Confirm')
44             ->seePageIs($deletePageUrl)
45             ->see('cannot be deleted');
46     }
47
48 }