/** * @return array */ public function submitDataProvider() { $roleLabel = 'account_role_label'; $alteredRoleLabel = 'altered_role_label'; $defaultRole = new AccountUserRole(); $defaultRole->setLabel($roleLabel); /** @var AccountUserRole $existingRoleBefore */ $existingRoleBefore = $this->getEntity(self::DATA_CLASS, 1); $existingRoleBefore->setLabel($roleLabel); $existingRoleBefore->setRole($roleLabel); $existingRoleAfter = unserialize(serialize($existingRoleBefore)); $existingRoleAfter->setLabel($alteredRoleLabel); return ['empty' => ['options' => ['privilege_config' => $this->privilegeConfig], 'defaultData' => null, 'viewData' => null, 'submittedData' => ['label' => $roleLabel], 'expectedData' => $defaultRole, 'expectedFieldData' => ['entity' => [], 'action' => []]], 'existing' => ['options' => ['privilege_config' => $this->privilegeConfig], 'defaultData' => $existingRoleBefore, 'viewData' => $existingRoleBefore, 'submittedData' => ['label' => $alteredRoleLabel, 'entity' => ['first'], 'action' => ['second']], 'expectedData' => $existingRoleAfter, 'expectedFieldData' => ['entity' => ['first'], 'action' => ['second']]]]; }
public function testAccountPermissions() { // init tokens $this->client->request('GET', $this->getUrl('orob2b_account_frontend_account_user_profile')); $this->assertHtmlResponseStatusCodeEquals($this->client->getResponse(), 200); $this->assertRoleHasPermission(LoadAccountUserRoles::ADMINISTRATOR, [true, true, true, true, true]); $this->assertRoleHasPermission(LoadAccountUserRoles::BUYER, [true, false, true, false, true]); $roleName = 'DENIED'; $role = new AccountUserRole(AccountUserRole::PREFIX_ROLE . $roleName); $role->setLabel($roleName); $className = $this->getContainer()->getParameter('orob2b_account.entity.account_user_role.class'); $em = $this->getContainer()->get('doctrine')->getManagerForClass($className); $em->persist($role); $em->flush(); $this->assertRoleHasPermission($roleName, [false, false, false, false, false]); }
/** * @param ObjectManager $manager */ protected function loadRoles(ObjectManager $manager) { /* @var $aclManager AclManager */ $aclManager = $this->container->get('oro_security.acl.manager'); foreach ($this->roles as $key => $roles) { $role = new AccountUserRole(AccountUserRole::PREFIX_ROLE . $key); $role->setLabel($key); foreach ($roles as $acls) { $className = $this->container->getParameter($acls['class']); $this->setRolePermissions($aclManager, $role, $className, $acls['acls']); } $manager->persist($role); $this->setReference($key, $role); } $manager->flush(); $aclManager->flush(); }
public function testRole() { $name = 'test role#$%'; $role = new AccountUserRole(); $account = new Account(); $organization = new Organization(); $this->assertEmpty($role->getId()); $this->assertEmpty($role->getLabel()); $this->assertEmpty($role->getRole()); $this->assertEmpty($role->getOrganization()); $this->assertEmpty($role->getAccount()); $role->setAccount($account); $role->setOrganization($organization); $this->assertEquals($organization, $role->getOrganization()); $this->assertEquals($account, $role->getAccount()); $role->setLabel($name); $this->assertEquals($name, $role->getLabel()); $this->assertEquals(AccountUserRole::PREFIX_ROLE, $role->getPrefix()); $role->setRole($name); $this->assertStringStartsWith(AccountUserRole::PREFIX_ROLE . 'TEST_ROLE_', $role->getRole()); $this->assertEquals($name, (string) $role); }
/** * @param string $name * @param string $label * @return AccountUserRole */ protected function createEntity($name, $label) { $role = new AccountUserRole(AccountUserRole::PREFIX_ROLE . $name); $role->setLabel($label); return $role; }
/** * @param ObjectManager $manager * @param string $roleLabel */ protected function loadRoleWithoutAccount(ObjectManager $manager, $roleLabel) { $entity = new AccountUserRole(); $entity->setLabel($roleLabel); $entity->setOrganization($this->getDefaultOrganization($manager)); $this->setReference($entity->getLabel(), $entity); $manager->persist($entity); }