/** * Test addRole method */ public function testAddRole() { $this->rbac->addRole('string_role', ['posts.add', new Rbac\Resource('posts.edit')]); $this->assertEquals('string_role', $this->rbac->getRole('string_role')->getName()); $role = new Rbac\Role('object_role', new Rbac\ResourceCollection(['users.add'])); $role->setName('object_role2')->setTitle('Role Title')->setDescription('Role description'); $this->rbac->addRole($role); $this->assertNull($this->rbac->getRole('object_role')); $this->assertEquals('object_role2', $this->rbac->getRole('object_role2')->getName()); $this->assertEquals('Role Title', $this->rbac->getRole('object_role2')->getTitle()); $this->assertEquals('Role description', $this->rbac->getRole('object_role2')->getDescription()); $this->setExpectedExceptionRegExp('InvalidArgumentException', '/Role name must be string\\./'); $role->setName(1); }