123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <?php
- use Encore\Admin\Auth\Database\Administrator;
- use Encore\Admin\Auth\Database\Role;
- class RolesTest extends TestCase
- {
- public function setUp()
- {
- parent::setUp();
- $this->be(Administrator::first(), 'admin');
- }
- public function testRolesIndex()
- {
- $this->visit('admin/auth/roles')
- ->see('Roles')
- ->see('administrator');
- }
- public function testAddRole()
- {
- $this->visit('admin/auth/roles/create')
- ->see('Roles')
- ->submitForm('Submit', ['slug' => 'developer', 'name' => 'Developer...'])
- ->seePageIs('admin/auth/roles')
- ->seeInDatabase(config('admin.database.roles_table'), ['slug' => 'developer', 'name' => 'Developer...'])
- ->assertEquals(2, Role::count());
- }
- public function testAddRoleToUser()
- {
- $user = [
- 'username' => 'Test',
- 'name' => 'Name',
- 'password' => '123456',
- 'password_confirmation' => '123456',
- ];
- $this->visit('admin/auth/users/create')
- ->see('Create')
- ->submitForm('Submit', $user)
- ->seePageIs('admin/auth/users')
- ->seeInDatabase(config('admin.database.users_table'), ['username' => 'Test']);
- $this->assertEquals(1, Role::count());
- $this->visit('admin/auth/roles/create')
- ->see('Roles')
- ->submitForm('Submit', ['slug' => 'developer', 'name' => 'Developer...'])
- ->seePageIs('admin/auth/roles')
- ->seeInDatabase(config('admin.database.roles_table'), ['slug' => 'developer', 'name' => 'Developer...'])
- ->assertEquals(2, Role::count());
- $this->assertFalse(Administrator::find(2)->isRole('developer'));
- $this->visit('admin/auth/users/2/edit')
- ->see('Edit')
- ->submitForm('Submit', ['roles' => [2]])
- ->seePageIs('admin/auth/users')
- ->seeInDatabase(config('admin.database.role_users_table'), ['user_id' => 2, 'role_id' => 2]);
- $this->assertTrue(Administrator::find(2)->isRole('developer'));
- $this->assertFalse(Administrator::find(2)->inRoles(['editor', 'operator']));
- $this->assertTrue(Administrator::find(2)->inRoles(['developer', 'operator', 'editor']));
- }
- public function testDeleteRole()
- {
- $this->assertEquals(1, Role::count());
- $this->visit('admin/auth/roles/create')
- ->see('Roles')
- ->submitForm('Submit', ['slug' => 'developer', 'name' => 'Developer...'])
- ->seePageIs('admin/auth/roles')
- ->seeInDatabase(config('admin.database.roles_table'), ['slug' => 'developer', 'name' => 'Developer...'])
- ->assertEquals(2, Role::count());
- $this->delete('admin/auth/roles/2')
- ->assertEquals(1, Role::count());
- $this->delete('admin/auth/roles/1')
- ->assertEquals(0, Role::count());
- }
- public function testEditRole()
- {
- $this->visit('admin/auth/roles/create')
- ->see('Roles')
- ->submitForm('Submit', ['slug' => 'developer', 'name' => 'Developer...'])
- ->seePageIs('admin/auth/roles')
- ->seeInDatabase(config('admin.database.roles_table'), ['slug' => 'developer', 'name' => 'Developer...'])
- ->assertEquals(2, Role::count());
- $this->visit('admin/auth/roles/2/edit')
- ->see('Roles')
- ->submitForm('Submit', ['name' => 'blablabla'])
- ->seePageIs('admin/auth/roles')
- ->seeInDatabase(config('admin.database.roles_table'), ['name' => 'blablabla'])
- ->assertEquals(2, Role::count());
- }
- }
|