return static::entities(static::toBeSkipped_delete(TRUE));
}
+ /**
+ * @return array
+ */
+ public static function entities_getfields() {
+ return static::entities(static::toBeSkipped_getfields(TRUE));
+ }
/**
* @return array
*/
return $entities;
}
+ /**
+ * @param bool $sequential
+ *
+ * @return array
+ * @todo add metadata for ALL these entities
+ */
+ public static function toBeSkipped_getfields($sequential = FALSE) {
+ $entitiesWithMetadataNotYetFixed = array('Acl', 'AclRole', 'ActionSchedule', 'ActivityType',
+ 'ContributionPage',
+ 'ContactType', 'ContributionSoft', 'Country', 'CustomField', 'CustomGroup', 'CustomValue','CustomSearch',
+ 'Domain',
+ 'Dashboard', 'DashboardContact', 'Extension', 'File', 'FinancialAccount', 'FinancialType',
+ 'GroupOrganization', 'GroupNesting',
+ 'Im', 'Job', 'LineItem','LocBlock', 'LocationType',
+ 'Mailing', 'MailingComponent', 'MailingEventResubscribe', 'MailingEventSubscribe', 'MailingEventUnsubscribe',
+ 'MailingEventConfirm', 'MailingGroup',
+ 'MailingRecipients', 'MailingJob', 'MailSettings',
+ 'MembershipBlock', 'MembershipPayment', 'MessageTemplate',
+ 'MembershipType', 'OptionGroup', 'OptionValue', 'MembershipStatus',
+ 'ParticipantPayment', 'ParticipantStatusType', 'PledgePayment',
+ 'Premium', 'PriceSet', 'PriceFieldValue', 'PriceField', 'PaymentProcessorType', 'PaymentProcessor',
+ 'PrintLabel', 'Product', 'ReportTemplate',
+ 'Setting',
+ 'SmsProvider', 'UFField');
+ if ($sequential === TRUE) {
+ return $entitiesWithMetadataNotYetFixed ;
+ }
+ $entities = array();
+ foreach ($entitiesWithMetadataNotYetFixed as $e) {
+ $entities[] = array($e);
+ }
+ return $entities;
+ }
/**
* Generate list of entities to test for get by id functions
* @param boolean $sequential
);
}
+ /**
+ * Create two entities and make sure delete action only deletes one!
+ *
+ * @dataProvider entities_getfields
+ *
+ */
+ public function testGetfieldsHasTitle($entity) {
+ $entities = $this->getEntitiesSupportingCustomFields();
+ if (in_array($entity, $entities)) {
+ $ids = $this->entityCustomGroupWithSingleFieldCreate(__FUNCTION__, $entity . 'Test.php');
+ }
+ $fields = $this->callAPISuccess($entity, 'getfields', array('action' => 'create'));
+ if (!empty($ids)) {
+ $this->assertArrayHasKey('custom_' . $ids['custom_field_id'], $fields['values']);
+ }
+
+ foreach ($fields['values'] as $fieldName => $fieldSpec) {
+ $this->assertArrayHasKey('title', $fieldSpec, "no title for $entity - $fieldName");
+ $this->assertNotEmpty($fieldSpec['title']);
+ }
+
+ if (!empty($ids)) {
+ $this->customFieldDelete($ids['custom_field_id']);
+ $this->customGroupDelete($ids['custom_group_id']);
+ }
+ }
+
+ /**
+ * @return array
+ */
+ public function getEntitiesSupportingCustomFields() {
+ $entities = self::custom_data_entities_get();
+ $returnEntities = array();
+ foreach ($entities as $entityArray) {
+ $returnEntities[] = $entityArray[0];
+ }
+ return $returnEntities;
+ }
/**
* @param $entityName
* @param int $count
1 => array($eventId, 'Integer')
));
}
-
}