summaryrefslogtreecommitdiff
path: root/tests/Unit/Models/Auth/PermissionTest.php
diff options
context:
space:
mode:
authorIgor Scheller <igor.scheller@igorshp.de>2019-07-28 17:14:42 +0200
committerIgor Scheller <igor.scheller@igorshp.de>2019-07-29 00:58:06 +0200
commit219c54411bb765bebd7813ad3e49ab05acf0b150 (patch)
tree9cf1cea8fccac16030e308df63352c2237311c0e /tests/Unit/Models/Auth/PermissionTest.php
parentc1f6374f377d7b6d2aeefa464837226279a521a3 (diff)
Permissions: Added models and migrations
Diffstat (limited to 'tests/Unit/Models/Auth/PermissionTest.php')
-rw-r--r--tests/Unit/Models/Auth/PermissionTest.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/Unit/Models/Auth/PermissionTest.php b/tests/Unit/Models/Auth/PermissionTest.php
new file mode 100644
index 00000000..bb5f7605
--- /dev/null
+++ b/tests/Unit/Models/Auth/PermissionTest.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace Engelsystem\Test\Unit\Models\Auth;
+
+use DMS\PHPUnitExtensions\ArraySubset\ArraySubsetAsserts;
+use Engelsystem\Models\Auth\Permission;
+
+class PermissionTest extends AuthModelTest
+{
+ use ArraySubsetAsserts;
+
+ /** @var array */
+ protected $data = [
+ 'name' => 'foo.bar',
+ 'description' => 'Allows bar in foo',
+ ];
+
+ /**
+ * @covers \Engelsystem\Models\Auth\Permission::roles
+ */
+ public function testPermissions()
+ {
+ $role = $this->getRole();
+ $role2 = $this->getRole([], ['name' => 'Example Role']);
+
+ $permission = new Permission($this->data);
+ $permission->save();
+ $permission->roles()->attach($role);
+ $permission->roles()->attach($role2);
+
+ $this->assertCount(2, $permission->roles);
+ $this->assertEquals('Test Role', $permission->roles()->get()->first()->name);
+ }
+
+ /**
+ * @covers \Engelsystem\Models\Auth\Permission::users
+ */
+ public function testUsers()
+ {
+ $role = $this->getRole();
+ $team = $this->getTeam($role);
+ $this->getUser($team);
+
+ $permission = new Permission($this->data);
+ $permission->save();
+ $permission->roles()->attach($role);
+
+ $this->assertEquals('Test User', $permission->users()->get()->first()->name);
+ }
+}