Merge pull request #17253 from mattwire/utf8convertblocksize
[civicrm-core.git] / tests / phpunit / CRM / Core / BAO / UFFieldTest.php
index f5dc72b4b8b1ab6512373caec5326b41cf932299..1cafb95c0e96248d06401da29f42a4022521d919 100644 (file)
@@ -34,7 +34,7 @@ class CRM_Core_BAO_UFFieldTest extends CiviUnitTestCase {
         'field_type' => 'Participant',
       ],
       [
-        'field_name' => 'join_date',
+        'field_name' => 'membership_join_date',
         'field_type' => 'Membership',
       ],
       [
@@ -65,7 +65,7 @@ class CRM_Core_BAO_UFFieldTest extends CiviUnitTestCase {
     $this->assertEquals('participant_role', $fields['Participant']['participant_role']['name']);
 
     // already used
-    $this->assertFalse(isset($fields['Membership']['join_date']));
+    $this->assertFalse(isset($fields['Membership']['membership_join_date']));
     $this->assertEquals('end_date', $fields['Membership']['membership_end_date']['name']);
 
     // already used
@@ -130,7 +130,7 @@ class CRM_Core_BAO_UFFieldTest extends CiviUnitTestCase {
     $this->assertEquals('participant_note', $fields['Participant']['participant_note']['name']);
     $this->assertEquals('participant_role', $fields['Participant']['participant_role']['name']);
 
-    $this->assertEquals('join_date', $fields['Membership']['join_date']['name']);
+    $this->assertEquals('join_date', $fields['Membership']['membership_join_date']['name']);
     $this->assertEquals('end_date', $fields['Membership']['membership_end_date']['name']);
 
     $this->assertEquals('activity_date_time', $fields['Activity']['activity_date_time']['name']);
@@ -167,7 +167,7 @@ class CRM_Core_BAO_UFFieldTest extends CiviUnitTestCase {
     $this->assertEquals('Participant', $fields['participant_note']['field_type']);
     $this->assertEquals('Participant', $fields['participant_role']['field_type']);
 
-    $this->assertEquals('Membership', $fields['join_date']['field_type']);
+    $this->assertEquals('Membership', $fields['membership_join_date']['field_type']);
     $this->assertEquals('Membership', $fields['membership_end_date']['field_type']);
 
     $this->assertEquals('Activity', $fields['activity_date_time']['field_type']);
@@ -218,4 +218,20 @@ class CRM_Core_BAO_UFFieldTest extends CiviUnitTestCase {
     return $ufGroup->id;
   }
 
+  /**
+   * Test ability to modify the acceptable fields for use in a profile via hook
+   */
+  public function testGetFieldsFlatModifiedByHook() {
+    unset(Civi::$statics['UFFieldsFlat']);
+    $this->hookClass->setHook('civicrm_alterUFFields', [$this, 'modifyUFFields']);
+    $fields = CRM_Core_BAO_UFField::getAvailableFieldsFlat();
+
+    $this->assertEquals('Grant', $fields['grant_id']['field_type']);
+    $this->assertEquals('contact_id', $fields['grant_contact_id']['name']);
+  }
+
+  public function modifyUFFields(&$fields) {
+    $fields['Grant'] = CRM_Grant_DAO_Grant::export();
+  }
+
 }