/** * test custom fields * * - add custom field * - get custom fields for app * - delete custom field */ public function testCustomFields() { // create $customField = self::getCustomField(); $createdCustomField = $this->_instance->addCustomField($customField); $this->assertEquals($customField->name, $createdCustomField->name); $this->assertNotNull($createdCustomField->getId()); // fetch $application = Tinebase_Application::getInstance()->getApplicationByName('Tinebase'); $appCustomFields = $this->_instance->getCustomFieldsForApplication($application->getId()); $this->assertGreaterThan(0, count($appCustomFields)); $this->assertEquals($application->getId(), $appCustomFields[0]->application_id); // check with model name $appCustomFieldsWithModelName = $this->_instance->getCustomFieldsForApplication($application->getId(), $customField->model); $this->assertGreaterThan(0, count($appCustomFieldsWithModelName)); $this->assertEquals($customField->model, $appCustomFieldsWithModelName[0]->model, 'didn\'t get correct model name'); // check if grants are returned $this->_instance->resolveConfigGrants($appCustomFields); $accountGrants = $appCustomFields->getFirstRecord()->account_grants; sort($accountGrants); $this->assertEquals(Tinebase_Model_CustomField_Grant::getAllGrants(), $accountGrants); // delete $this->_instance->deleteCustomField($createdCustomField); $this->setExpectedException('Tinebase_Exception_NotFound'); $this->_instance->getCustomField($createdCustomField->getId()); }