public function testPermissions() { $p1 = Permission::create("test_1", "", 1); $p2 = Permission::create("test_2", "", 2); $p3 = Permission::create("test_3", "", 3); $p4 = Permission::create("test_4", "", 4); $r1 = Role::create("role_1", "", [$p1, $p2]); $r2 = Role::create("role_2", "", [$p1, $p2, $p4]); $role_set = new RoleSet([$r1, $r2]); $permissions = $role_set->getPermissions(); $this->assertEquals(3, sizeof($permissions)); }
function let(RoleSet $role_set, Role $role, Permission $permission) { //fixtures $subject_id = 1; $permission->permission_id = 1; $permission->name = 'admin_view'; $permission->description = 'Admin View Permission'; //collaborator stubbing/mocking $permission->__toString()->willReturn($permission->name); $role_set->getRoles()->willReturn(array($role)); $role_set->getPermissions()->willReturn(array($permission)); $role_set->has_permission($permission)->willReturn(true); $this->beConstructedWith($subject_id, $role_set); }