4 * Class CRM_Core_BAO_CustomValueTableMultipleTest
7 class CRM_Core_BAO_CustomValueTableMultipleTest
extends CiviUnitTestCase
{
9 public function setUp() {
13 public function testCustomGroupMultipleSingle() {
14 $contactID = $this->individualCreate();
15 $customGroup = $this->customGroupCreate(array('is_multiple' => 1));
17 'custom_group_id' => $customGroup['id'],
18 'dataType' => 'String',
21 $customField = $this->customFieldCreate($fields);
24 'entityID' => $contactID,
25 "custom_{$customField['id']}_-1" => 'First String',
27 CRM_Core_BAO_CustomValueTable
::setValues($params);
30 'entityID' => $contactID,
31 "custom_{$customField['id']}" => 1,
33 $result = CRM_Core_BAO_CustomValueTable
::getValues($newParams);
35 $this->assertEquals($params["custom_{$customField['id']}_-1"], $result["custom_{$customField['id']}_1"]);
36 $this->assertEquals($params['entityID'], $result['entityID']);
38 $this->customFieldDelete($customField['id']);
39 $this->customGroupDelete($customGroup['id']);
40 $this->contactDelete($contactID);
43 public function testCustomGroupMultipleDouble() {
44 $contactID = $this->individualCreate();
45 $customGroup = $this->customGroupCreate(array('is_multiple' => 1));
47 'custom_group_id' => $customGroup['id'],
48 'dataType' => 'String',
51 $customField = $this->customFieldCreate($fields);
54 'entityID' => $contactID,
55 "custom_{$customField['id']}_-1" => 'First String',
56 "custom_{$customField['id']}_-2" => 'Second String',
58 CRM_Core_BAO_CustomValueTable
::setValues($params);
61 'entityID' => $contactID,
62 "custom_{$customField['id']}" => 1,
64 $result = CRM_Core_BAO_CustomValueTable
::getValues($newParams);
66 $this->assertEquals($params["custom_{$customField['id']}_-1"], $result["custom_{$customField['id']}_1"]);
67 $this->assertEquals($params["custom_{$customField['id']}_-2"], $result["custom_{$customField['id']}_2"]);
68 $this->assertEquals($params['entityID'], $result['entityID']);
70 $this->customFieldDelete($customField['id']);
71 $this->customGroupDelete($customGroup['id']);
72 $this->contactDelete($contactID);
75 public function testCustomGroupMultipleUpdate() {
76 $contactID = $this->individualCreate();
77 $customGroup = $this->customGroupCreate(array('is_multiple' => 1));
79 'custom_group_id' => $customGroup['id'],
80 'dataType' => 'String',
83 $customField = $this->customFieldCreate($fields);
86 'entityID' => $contactID,
87 "custom_{$customField['id']}_-1" => 'First String',
88 "custom_{$customField['id']}_-2" => 'Second String',
89 "custom_{$customField['id']}_-3" => 'Third String',
91 CRM_Core_BAO_CustomValueTable
::setValues($params);
94 'entityID' => $contactID,
95 "custom_{$customField['id']}_1" => 'Updated First String',
96 "custom_{$customField['id']}_3" => 'Updated Third String',
98 CRM_Core_BAO_CustomValueTable
::setValues($newParams);
101 'entityID' => $contactID,
102 "custom_{$customField['id']}" => 1,
104 $result = CRM_Core_BAO_CustomValueTable
::getValues($getParams);
106 $this->assertEquals($newParams["custom_{$customField['id']}_1"], $result["custom_{$customField['id']}_1"]);
107 $this->assertEquals($params["custom_{$customField['id']}_-2"], $result["custom_{$customField['id']}_2"]);
108 $this->assertEquals($newParams["custom_{$customField['id']}_3"], $result["custom_{$customField['id']}_3"]);
109 $this->assertEquals($params['entityID'], $result['entityID']);
111 $this->customFieldDelete($customField['id']);
112 $this->customGroupDelete($customGroup['id']);
113 $this->contactDelete($contactID);
116 public function testCustomGroupMultipleOldFormat() {
117 $contactID = $this->individualCreate();
118 $customGroup = $this->customGroupCreate(array('is_multiple' => 1));
120 'custom_group_id' => $customGroup['id'],
121 'dataType' => 'String',
122 'htmlType' => 'Text',
124 $customField = $this->customFieldCreate($fields);
127 'entityID' => $contactID,
128 "custom_{$customField['id']}" => 'First String',
130 CRM_Core_BAO_CustomValueTable
::setValues($params);
133 'entityID' => $contactID,
134 "custom_{$customField['id']}" => 1,
136 $result = CRM_Core_BAO_CustomValueTable
::getValues($newParams);
138 $this->assertEquals($params["custom_{$customField['id']}"], $result["custom_{$customField['id']}_1"]);
139 $this->assertEquals($params['entityID'], $result['entityID']);
141 $this->customFieldDelete($customField['id']);
142 $this->customGroupDelete($customGroup['id']);
143 $this->contactDelete($contactID);