X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fphpunit%2FCRM%2FCore%2FBAO%2FCustomFieldTest.php;h=f808556692183312091adac7813280ee3da7a12c;hb=649d6dd08539215332dc943a749af302a42f76ef;hp=506c3a1c333013c251003d7bed692979ab2daa79;hpb=5d867d83ac582e4c45417c82610d569100d6da43;p=civicrm-core.git diff --git a/tests/phpunit/CRM/Core/BAO/CustomFieldTest.php b/tests/phpunit/CRM/Core/BAO/CustomFieldTest.php index 506c3a1c33..f808556692 100644 --- a/tests/phpunit/CRM/Core/BAO/CustomFieldTest.php +++ b/tests/phpunit/CRM/Core/BAO/CustomFieldTest.php @@ -120,27 +120,73 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase { public function testGetDisplayedValues() { $customGroup = Custom::createGroup(array(), 'Individual'); - $fields = array( - 'label' => 'testCountryFld1', - 'data_type' => 'Country', - 'html_type' => 'Select Country', - 'is_active' => 1, - 'default_value' => 1228, - 'custom_group_id' => $customGroup->id, - ); - $customField1 = CRM_Core_BAO_CustomField::create($fields); - $customFieldID1 = $this->assertDBNotNull('CRM_Core_DAO_CustomField', $customGroup->id, 'id', 'custom_group_id', - 'Database check for created CustomField.' - ); - $options = array(); - $options[$customFieldID1]['attributes'] = array( - 'label' => 'testCountryFld1', - 'data_type' => 'Country', - 'html_type' => 'Select Country', + $fieldsToCreate = array( + array( + 'data_type' => 'Country', + 'html_type' => 'Select Country', + 'tests' => array( + 'UNITED STATES' => 1228, + '' => NULL, + ), + ), + array( + 'data_type' => 'StateProvince', + 'html_type' => 'Multi-Select State/Province', + 'tests' => array( + '' => 0, + 'Alabama' => 1000, + 'Alabama, Alaska' => array(1000, 1001), + ), + ), + array( + 'data_type' => 'String', + 'html_type' => 'Radio', + 'option_values' => array( + 'key' => 'KeyLabel', + ), + 'tests' => array( + 'KeyLabel' => 'key', + ), + ), + array( + 'data_type' => 'String', + 'html_type' => 'CheckBox', + 'option_values' => array( + 'key1' => 'Label1', + 'key2' => 'Label2', + 'key3' => 'Label3', + 'key4' => 'Label4', + ), + 'tests' => array( + 'Label1' => array('key1'), + 'Label2' => 'key2', + 'Label2, Label3' => array('key2', 'key3'), + 'Label3, Label4' => CRM_Utils_Array::implodePadded(array('key3', 'key4')), + 'Label1, Label4' => array('key1' => 1, 'key4' => 1), + ), + ), + array( + 'data_type' => 'Date', + 'html_type' => 'Select Date', + 'date_format' => 'd M yy', + 'time_format' => 1, + 'tests' => array( + '1 Jun 1999 1:30PM' => '1999-06-01 13:30', + '' => '', + ), + ), ); - $display = CRM_Core_BAO_CustomField::getDisplayValue($fields['default_value'], $customFieldID1, $options); - - $this->assertEquals('United States', $display, 'Confirm Country display Name'); + foreach ($fieldsToCreate as $num => $field) { + $params = $field + array( + 'label' => 'test field ' . $num, + 'custom_group_id' => $customGroup->id, + ); + unset($params['tests']); + $createdField = $this->callAPISuccess('customField', 'create', $params); + foreach ($field['tests'] as $expected => $input) { + $this->assertEquals($expected, CRM_Core_BAO_CustomField::displayValue($input, $createdField['id'])); + } + } Custom::deleteGroup($customGroup); } @@ -169,7 +215,7 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase { */ public function testMoveField() { $countriesByName = array_flip(CRM_Core_PseudoConstant::country(FALSE, FALSE)); - $this->assertTrue($countriesByName['Andorra'] > 0); + $this->assertTrue($countriesByName['ANDORRA'] > 0); $groups = array( 'A' => Custom::createGroup(array( 'title' => 'Test_Group A', @@ -214,20 +260,20 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase { 'alice' => Contact::createIndividual(array( 'first_name' => 'Alice', 'last_name' => 'Albertson', - 'custom_' . $fields['countryA']->id => $countriesByName['Andorra'], - 'custom_' . $fields['countryB']->id => $countriesByName['Barbados'], + 'custom_' . $fields['countryA']->id => $countriesByName['ANDORRA'], + 'custom_' . $fields['countryB']->id => $countriesByName['BARBADOS'], )), 'bob' => Contact::createIndividual(array( 'first_name' => 'Bob', 'last_name' => 'Roberts', - 'custom_' . $fields['countryA']->id => $countriesByName['Austria'], - 'custom_' . $fields['countryB']->id => $countriesByName['Bermuda'], - 'custom_' . $fields['countryC']->id => $countriesByName['Chad'], + 'custom_' . $fields['countryA']->id => $countriesByName['AUSTRIA'], + 'custom_' . $fields['countryB']->id => $countriesByName['BERMUDA'], + 'custom_' . $fields['countryC']->id => $countriesByName['CHAD'], )), 'carol' => Contact::createIndividual(array( 'first_name' => 'Carol', 'last_name' => 'Carolson', - 'custom_' . $fields['countryC']->id => $countriesByName['Cambodia'], + 'custom_' . $fields['countryC']->id => $countriesByName['CAMBODIA'], )), ); @@ -252,7 +298,7 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase { AND {$fields['countryC']->column_name} is null", array( 1 => array($contacts['alice'], 'Integer'), - 3 => array($countriesByName['Barbados'], 'Integer'), + 3 => array($countriesByName['BARBADOS'], 'Integer'), ) ); @@ -264,8 +310,8 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase { AND {$fields['countryC']->column_name} = %4", array( 1 => array($contacts['bob'], 'Integer'), - 3 => array($countriesByName['Bermuda'], 'Integer'), - 4 => array($countriesByName['Chad'], 'Integer'), + 3 => array($countriesByName['BERMUDA'], 'Integer'), + 4 => array($countriesByName['CHAD'], 'Integer'), ) ); @@ -277,7 +323,7 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase { AND {$fields['countryC']->column_name} = %4", array( 1 => array($contacts['carol'], 'Integer'), - 4 => array($countriesByName['Cambodia'], 'Integer'), + 4 => array($countriesByName['CAMBODIA'], 'Integer'), ) );