CRM-10592: custom group and field names can be specified explicitly.
[civicrm-core.git] / tests / phpunit / CRM / Core / BAO / CustomFieldTest.php
index 24192a9f2a83c16affc48b0897d6d1cb2dcb6e78..9359e30843172ffea5c2134818e25ee0db6849fb 100644 (file)
@@ -40,6 +40,31 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase {
     $this->assertDBNotNull('CRM_Core_DAO_CustomField', 1, 'id', 'is_active', 'Database check for edited CustomField.');
     $this->assertDBNotNull('CRM_Core_DAO_CustomField', $fields['label'], 'id', 'label', 'Database check for edited CustomField.');
 
+    $dbFieldName = $this->assertDBNotNull('CRM_Core_DAO_CustomField', $customFieldID, 'name', 'id', 'Database check for edited CustomField.');
+    $dbColumnName = $this->assertDBNotNull('CRM_Core_DAO_CustomField', $customFieldID, 'column_name', 'id', 'Database check for edited CustomField.');
+    $this->assertEquals(strtolower("{$dbFieldName}_{$customFieldID}"), $dbColumnName,
+        "Column name ends in ID");
+
+    Custom::deleteGroup($customGroup);
+  }
+  
+  function testCreateCustomfieldColumnName() {
+    $customGroup = Custom::createGroup(array(), 'Individual');
+    $fields = array(
+      'label' => 'testFld 2',
+      'column_name' => 'special_colname',
+      'data_type' => 'String',
+      'html_type' => 'Text',
+      'custom_group_id' => $customGroup->id,
+    );
+    $customField = CRM_Core_BAO_CustomField::create($fields);
+    $customFieldID = $this->assertDBNotNull('CRM_Core_DAO_CustomField', $customGroup->id, 'id', 'custom_group_id',
+      'Database check for created CustomField.'
+    );
+    $dbColumnName = $this->assertDBNotNull('CRM_Core_DAO_CustomField', $customFieldID, 'column_name', 'id', 'Database check for edited CustomField.');
+    $this->assertEquals($fields['column_name'], $dbColumnName,
+        "Column name set as specified");
+
     Custom::deleteGroup($customGroup);
   }
 
@@ -107,9 +132,10 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase {
   function testDeleteCustomfield() {
     $customGroup = Custom::createGroup(array(), 'Individual');
     $fields = array(
-      'groupId' => $customGroup->id,
-      'dataType' => 'Memo',
-      'htmlType' => 'TextArea',
+      'label' => 'Throwaway Field',
+      'custom_group_id' => $customGroup->id,
+      'data_type' => 'Memo',
+      'html_type' => 'TextArea',
     );
 
     $customField = Custom::createField(array(), $fields);