public function testEmptyConfigurationFromArray() { $role = Role::createFromConfiguration("ROLE_TEST", []); $this->assertNull($role->getTitle()); $this->assertNull($role->getDescription()); $this->assertFalse($role->isHidden()); }
/** * Prepares the role collection by transforming the config array to an object structure * * @param array[] $roleConfiguration * * @return Role[] */ private function prepareRoleCollection(array $roleConfiguration) { /** @var Role[] $preparedRoles */ $preparedRoles = []; foreach ($roleConfiguration as $roleKey => $configuration) { $preparedRoles[$roleKey] = Role::createFromConfiguration($roleKey, $configuration); } foreach ($roleConfiguration as $roleKey => $configuration) { if (!isset($configuration["included_roles"]) || !is_array($configuration["included_roles"])) { continue; } $includedRoles = array_map(function ($role) use($preparedRoles) { return $preparedRoles[$role]; }, $configuration["included_roles"]); $preparedRoles[$roleKey]->setIncludedRoles($includedRoles); } return $preparedRoles; }