From 219c54411bb765bebd7813ad3e49ab05acf0b150 Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Sun, 28 Jul 2019 17:14:42 +0200 Subject: Permissions: Added models and migrations --- tests/Unit/Models/User/UserTest.php | 72 +++++++++++++++++++++++++++++++++++-- 1 file changed, 69 insertions(+), 3 deletions(-) (limited to 'tests/Unit/Models/User') diff --git a/tests/Unit/Models/User/UserTest.php b/tests/Unit/Models/User/UserTest.php index a0d20bc2..4696d56a 100644 --- a/tests/Unit/Models/User/UserTest.php +++ b/tests/Unit/Models/User/UserTest.php @@ -1,6 +1,6 @@ 'lorem', 'password' => '', @@ -87,4 +88,69 @@ class UserTest extends ModelTest $this->assertArraySubset($data, (array)$user->{$name}->attributesToArray()); } + + /** + * @covers \Engelsystem\Models\User\User::permissions + */ + public function testPermissions() + { + $permission = $this->getPermission(); + $role = $this->getRole($permission); + $team = $this->getTeam($role); + + $user = new User($this->data); + $user->save(); + $user->teams()->attach($team); + + $this->assertEquals('foo.bar', $user->permissions()->first()->name); + } + + /** + * @covers \Engelsystem\Models\User\User::roles + */ + public function testRoles() + { + $role = $this->getRole(); + $role2 = $this->getRole([], ['name' => 'Foo Role']); + $team = $this->getTeam([$role, $role2]); + + $user = new User($this->data); + $user->save(); + $user->teams()->attach($team); + + $this->assertCount(2, $user->roles); + $this->assertEquals('Test Role', $user->roles()->get()->first()->name); + } + + /** + * @covers \Engelsystem\Models\User\User::supports + */ + public function testSupports() + { + $team = $this->getTeam(); + + $user = new User($this->data); + $user->save(); + $user->teams()->attach($team); + $user->supports()->attach($team); + + $this->assertEquals('Test Team', $user->supports()->get()->first()->name); + } + + /** + * @covers \Engelsystem\Models\User\User::teams + */ + public function testTeams() + { + $team = $this->getTeam(); + $team2 = $this->getTeam([], ['name' => 'Another Team']); + + $user = new User($this->data); + $user->save(); + $user->teams()->attach($team); + $user->teams()->attach($team2); + + $this->assertCount(2, $user->teams); + $this->assertEquals('Test Team', $user->teams()->get()->first()->name); + } } -- cgit v1.2.3-54-g00ecf