/** * Returns true if and only if the assertion conditions are met * * This method is passed the ACL, Role, Resource, and privilege to which * the authorization query applies. If the $role, $resource, or $privilege * parameters are null, it means that the query applies to all Roles, * Resources, or privileges, respectively. * * @param Zend_Acl $acl * @param Zend_Acl_Role_Interface $role * @param Zend_Acl_Resource_Interface $resource * @param string $privilege * @return boolean */ public function assert(Zend_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null, $privilege = null) { // We need specific objects to check against each other if (NULL === $role || NULL === $resource) { return false; } // Ensure we're handled User models if (!$role instanceof UserModel) { throw new \Application\Exceptions\InvalidArgumentException('Role must be an instance of UserModel'); } $orgId = null; $protectedFields = array(); $resourceClass = get_class($resource); if (!isset($this->_protectedFields[$resourceClass])) { return true; } $protectedFields = $this->_protectedFields[$resourceClass]; if ($resource instanceof OrgModelAbstract) { $originalModel = $resourceClass::find($resource->getId()); } else { if ($resource instanceof UserModel) { $originalModel = UserModel::find($resource->getId()); } else { throw new \Application\Exceptions\InvalidArgumentException('Resource must be an instance of OrgModelAbstract or UserModel'); } } return $this->_checkProtectedFields($originalModel, $resource, $protectedFields); }
public function testUpdateUser() { // Persist user $this->_user->save(); $this->_user->setFirstName('EditedFirstName'); $this->_service->update($this->_user); // Check if the user has been updated $user = UserModel::find($this->_user->getId()); $this->assertNotNull($user); $this->assertEquals('EditedFirstName', $user->getFirstName()); }
public function testRemoveUser() { $user = new UserModel($this->_data); $user->save(); // Make sure it's been saved $user = UserModel::find($user->getId()); $this->assertInstanceOf('\\Application\\Model\\UserModel', $user); $user->delete(); $user = UserModel::find($user->getId()); $this->assertNull($user); }