3 require_once 'CiviTest/CiviUnitTestCase.php';
4 require_once 'CiviTest/Contact.php';
5 require_once 'CiviTest/Custom.php';
8 * Class CRM_Core_BAO_CustomValueTableMultipleTest
10 class CRM_Core_BAO_CustomValueTableMultipleTest
extends CiviUnitTestCase
{
12 public function setUp() {
16 public function testCustomGroupMultipleSingle() {
18 $contactID = Contact
::createIndividual();
19 $customGroup = Custom
::createGroup($params, 'Individual', TRUE);
21 'groupId' => $customGroup->id
,
22 'dataType' => 'String',
25 $customField = Custom
::createField($params, $fields);
28 'entityID' => $contactID,
29 "custom_{$customField->id}_-1" => 'First String',
31 $error = CRM_Core_BAO_CustomValueTable
::setValues($params);
34 'entityID' => $contactID,
35 "custom_{$customField->id}" => 1,
37 $result = CRM_Core_BAO_CustomValueTable
::getValues($newParams);
39 $this->assertEquals($params["custom_{$customField->id}_-1"], $result["custom_{$customField->id}_1"]);
40 $this->assertEquals($params['entityID'], $result['entityID']);
42 Custom
::deleteField($customField);
43 Custom
::deleteGroup($customGroup);
44 Contact
::delete($contactID);
47 public function testCustomGroupMultipleDouble() {
49 $contactID = Contact
::createIndividual();
50 $customGroup = Custom
::createGroup($params, 'Individual', TRUE);
52 'groupId' => $customGroup->id
,
53 'dataType' => 'String',
56 $customField = Custom
::createField($params, $fields);
59 'entityID' => $contactID,
60 "custom_{$customField->id}_-1" => 'First String',
61 "custom_{$customField->id}_-2" => 'Second String',
63 $error = CRM_Core_BAO_CustomValueTable
::setValues($params);
66 'entityID' => $contactID,
67 "custom_{$customField->id}" => 1,
69 $result = CRM_Core_BAO_CustomValueTable
::getValues($newParams);
71 $this->assertEquals($params["custom_{$customField->id}_-1"], $result["custom_{$customField->id}_1"]);
72 $this->assertEquals($params["custom_{$customField->id}_-2"], $result["custom_{$customField->id}_2"]);
73 $this->assertEquals($params['entityID'], $result['entityID']);
75 Custom
::deleteField($customField);
76 Custom
::deleteGroup($customGroup);
77 Contact
::delete($contactID);
80 public function testCustomGroupMultipleUpdate() {
82 $contactID = Contact
::createIndividual();
83 $customGroup = Custom
::createGroup($params, 'Individual', TRUE);
85 'groupId' => $customGroup->id
,
86 'dataType' => 'String',
89 $customField = Custom
::createField($params, $fields);
92 'entityID' => $contactID,
93 "custom_{$customField->id}_-1" => 'First String',
94 "custom_{$customField->id}_-2" => 'Second String',
95 "custom_{$customField->id}_-3" => 'Third String',
97 $error = CRM_Core_BAO_CustomValueTable
::setValues($params);
100 'entityID' => $contactID,
101 "custom_{$customField->id}_1" => 'Updated First String',
102 "custom_{$customField->id}_3" => 'Updated Third String',
104 $result = CRM_Core_BAO_CustomValueTable
::setValues($newParams);
107 'entityID' => $contactID,
108 "custom_{$customField->id}" => 1,
110 $result = CRM_Core_BAO_CustomValueTable
::getValues($getParams);
112 $this->assertEquals($newParams["custom_{$customField->id}_1"], $result["custom_{$customField->id}_1"]);
113 $this->assertEquals($params["custom_{$customField->id}_-2"], $result["custom_{$customField->id}_2"]);
114 $this->assertEquals($newParams["custom_{$customField->id}_3"], $result["custom_{$customField->id}_3"]);
115 $this->assertEquals($params['entityID'], $result['entityID']);
117 Custom
::deleteField($customField);
118 Custom
::deleteGroup($customGroup);
119 Contact
::delete($contactID);
122 public function testCustomGroupMultipleOldFormate() {
124 $contactID = Contact
::createIndividual();
125 $customGroup = Custom
::createGroup($params, 'Individual', TRUE);
127 'groupId' => $customGroup->id
,
128 'dataType' => 'String',
129 'htmlType' => 'Text',
131 $customField = Custom
::createField($params, $fields);
134 'entityID' => $contactID,
135 "custom_{$customField->id}" => 'First String',
137 $error = CRM_Core_BAO_CustomValueTable
::setValues($params);
140 'entityID' => $contactID,
141 "custom_{$customField->id}" => 1,
143 $result = CRM_Core_BAO_CustomValueTable
::getValues($newParams);
145 $this->assertEquals($params["custom_{$customField->id}"], $result["custom_{$customField->id}_1"]);
146 $this->assertEquals($params['entityID'], $result['entityID']);
148 Custom
::deleteField($customField);
149 Custom
::deleteGroup($customGroup);
150 Contact
::delete($contactID);