Add unit test for CRM_Core_BAO_CustomField::getCustomFieldID
authoreileen <emcnaughton@wikimedia.org>
Fri, 8 Jun 2018 01:57:17 +0000 (13:57 +1200)
committereileen <emcnaughton@wikimedia.org>
Fri, 8 Jun 2018 01:57:17 +0000 (13:57 +1200)
tests/phpunit/CRM/Core/BAO/CustomFieldTest.php

index b796d27352cde26ee9fb54af9009c52042e3521b..49dc922318e20f2fd40bb625a840d62c7e1a9e27 100644 (file)
@@ -6,19 +6,14 @@
  */
 class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase {
 
+  protected $customFieldID;
+
   public function setUp() {
     parent::setUp();
   }
 
   public function testCreateCustomField() {
-    $customGroup = $this->customGroupCreate(array('extends' => 'Individual'));
-    $fields = array(
-      'label' => 'testFld',
-      'data_type' => 'String',
-      'html_type' => 'Text',
-      'custom_group_id' => $customGroup['id'],
-    );
-    CRM_Core_BAO_CustomField::create($fields);
+    $customGroup = $this->createCustomField();
     $customFieldID = $this->assertDBNotNull('CRM_Core_DAO_CustomField', $customGroup['id'], 'id', 'custom_group_id',
       'Database check for created CustomField.'
     );
@@ -336,4 +331,32 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase {
     $this->customGroupDelete($groupB['id']);
   }
 
+  /**
+   * Test get custom field id function.
+   */
+  public function testGetCustomFieldID() {
+    $this->createCustomField();
+    $fieldID = CRM_Core_BAO_CustomField::getCustomFieldID('testFld');
+    $this->assertEquals($this->customFieldID, $fieldID);
+
+    $fieldID = CRM_Core_BAO_CustomField::getCustomFieldID('testFld', 'new custom group');
+    $this->assertEquals($this->customFieldID, $fieldID);
+  }
+
+  /**
+   * @return array
+   */
+  protected function createCustomField() {
+    $customGroup = $this->customGroupCreate(array('extends' => 'Individual'));
+    $fields = array(
+      'label' => 'testFld',
+      'data_type' => 'String',
+      'html_type' => 'Text',
+      'custom_group_id' => $customGroup['id'],
+    );
+    $field = CRM_Core_BAO_CustomField::create($fields);
+    $this->customFieldID = $field->id;
+    return $customGroup;
+  }
+
 }