Skip to content

Commit 4cb8fe5

Browse files
add tests for Authorizable::can()
1 parent 7cf4d8b commit 4cb8fe5

2 files changed

Lines changed: 25 additions & 0 deletions

File tree

src/Config/AuthGroups.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@ class AuthGroups extends BaseConfig
7979
'users.edit' => 'Can edit existing non-admin users',
8080
'users.delete' => 'Can delete existing non-admin users',
8181
'beta.access' => 'Can access beta-level features',
82+
'forum.posts.create' => 'Can create forum posts',
83+
'forum.posts.edit' => 'Can edit forum posts',
84+
'forum.posts.delete' => 'Can delete forum posts',
8285
];
8386

8487
/**

tests/Authorization/AuthorizableTest.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,4 +385,26 @@ public function testGetBanMessage(): void
385385

386386
$this->assertSame('You are banned', $this->user->getBanMessage());
387387
}
388+
389+
public function testCanNestedPerms(): void
390+
{
391+
$user = $this->user;
392+
393+
$user->addPermission('forum.posts.create');
394+
$user->addPermission('forum.posts.edit');
395+
396+
$this->assertTrue($user->can('forum.posts.create'));
397+
$this->assertFalse($user->can('forum.posts.delete'));
398+
}
399+
400+
public function testCanMultipleNestedPerms(): void
401+
{
402+
$user = $this->user;
403+
404+
$user->addPermission('forum.posts.create');
405+
$user->addPermission('forum.posts.edit');
406+
407+
$this->assertTrue($user->can('forum.posts.create', 'beta.access'));
408+
$this->assertFalse($user->can('forum.posts.delete', 'beta.access'));
409+
}
388410
}

0 commit comments

Comments
 (0)