4 * Class CRM_Core_BAO_CustomValueTableMultipleTest
7 class CRM_Core_BAO_CustomValueTableMultipleTest
extends CiviUnitTestCase
{
9 public function setUp() {
13 public function testCustomGroupMultipleSingle() {
15 $contactID = Contact
::createIndividual();
16 $customGroup = Custom
::createGroup($params, 'Individual', TRUE);
18 'groupId' => $customGroup->id
,
19 'dataType' => 'String',
22 $customField = Custom
::createField($params, $fields);
25 'entityID' => $contactID,
26 "custom_{$customField->id}_-1" => 'First String',
28 $error = CRM_Core_BAO_CustomValueTable
::setValues($params);
31 'entityID' => $contactID,
32 "custom_{$customField->id}" => 1,
34 $result = CRM_Core_BAO_CustomValueTable
::getValues($newParams);
36 $this->assertEquals($params["custom_{$customField->id}_-1"], $result["custom_{$customField->id}_1"]);
37 $this->assertEquals($params['entityID'], $result['entityID']);
39 Custom
::deleteField($customField);
40 Custom
::deleteGroup($customGroup);
41 Contact
::delete($contactID);
44 public function testCustomGroupMultipleDouble() {
46 $contactID = Contact
::createIndividual();
47 $customGroup = Custom
::createGroup($params, 'Individual', TRUE);
49 'groupId' => $customGroup->id
,
50 'dataType' => 'String',
53 $customField = Custom
::createField($params, $fields);
56 'entityID' => $contactID,
57 "custom_{$customField->id}_-1" => 'First String',
58 "custom_{$customField->id}_-2" => 'Second String',
60 $error = CRM_Core_BAO_CustomValueTable
::setValues($params);
63 'entityID' => $contactID,
64 "custom_{$customField->id}" => 1,
66 $result = CRM_Core_BAO_CustomValueTable
::getValues($newParams);
68 $this->assertEquals($params["custom_{$customField->id}_-1"], $result["custom_{$customField->id}_1"]);
69 $this->assertEquals($params["custom_{$customField->id}_-2"], $result["custom_{$customField->id}_2"]);
70 $this->assertEquals($params['entityID'], $result['entityID']);
72 Custom
::deleteField($customField);
73 Custom
::deleteGroup($customGroup);
74 Contact
::delete($contactID);
77 public function testCustomGroupMultipleUpdate() {
79 $contactID = Contact
::createIndividual();
80 $customGroup = Custom
::createGroup($params, 'Individual', TRUE);
82 'groupId' => $customGroup->id
,
83 'dataType' => 'String',
86 $customField = Custom
::createField($params, $fields);
89 'entityID' => $contactID,
90 "custom_{$customField->id}_-1" => 'First String',
91 "custom_{$customField->id}_-2" => 'Second String',
92 "custom_{$customField->id}_-3" => 'Third String',
94 $error = CRM_Core_BAO_CustomValueTable
::setValues($params);
97 'entityID' => $contactID,
98 "custom_{$customField->id}_1" => 'Updated First String',
99 "custom_{$customField->id}_3" => 'Updated Third String',
101 $result = CRM_Core_BAO_CustomValueTable
::setValues($newParams);
104 'entityID' => $contactID,
105 "custom_{$customField->id}" => 1,
107 $result = CRM_Core_BAO_CustomValueTable
::getValues($getParams);
109 $this->assertEquals($newParams["custom_{$customField->id}_1"], $result["custom_{$customField->id}_1"]);
110 $this->assertEquals($params["custom_{$customField->id}_-2"], $result["custom_{$customField->id}_2"]);
111 $this->assertEquals($newParams["custom_{$customField->id}_3"], $result["custom_{$customField->id}_3"]);
112 $this->assertEquals($params['entityID'], $result['entityID']);
114 Custom
::deleteField($customField);
115 Custom
::deleteGroup($customGroup);
116 Contact
::delete($contactID);
119 public function testCustomGroupMultipleOldFormate() {
121 $contactID = Contact
::createIndividual();
122 $customGroup = Custom
::createGroup($params, 'Individual', TRUE);
124 'groupId' => $customGroup->id
,
125 'dataType' => 'String',
126 'htmlType' => 'Text',
128 $customField = Custom
::createField($params, $fields);
131 'entityID' => $contactID,
132 "custom_{$customField->id}" => 'First String',
134 $error = CRM_Core_BAO_CustomValueTable
::setValues($params);
137 'entityID' => $contactID,
138 "custom_{$customField->id}" => 1,
140 $result = CRM_Core_BAO_CustomValueTable
::getValues($newParams);
142 $this->assertEquals($params["custom_{$customField->id}"], $result["custom_{$customField->id}_1"]);
143 $this->assertEquals($params['entityID'], $result['entityID']);
145 Custom
::deleteField($customField);
146 Custom
::deleteGroup($customGroup);
147 Contact
::delete($contactID);