Commit | Line | Data |
---|---|---|
6a488035 TO |
1 | <?php |
2 | ||
aba1cd8b EM |
3 | /** |
4 | * Class CRM_Core_BAO_CustomValueTableMultipleTest | |
acb109b7 | 5 | * @group headless |
aba1cd8b | 6 | */ |
6a488035 | 7 | class CRM_Core_BAO_CustomValueTableMultipleTest extends CiviUnitTestCase { |
6a488035 | 8 | |
00be9182 | 9 | public function setUp() { |
6a488035 TO |
10 | parent::setUp(); |
11 | } | |
12 | ||
00be9182 | 13 | public function testCustomGroupMultipleSingle() { |
f2040bc6 | 14 | $contactID = $this->individualCreate(); |
5c988f8a | 15 | $customGroup = $this->customGroupCreate(array('is_multiple' => 1)); |
92915c55 | 16 | $fields = array( |
5c988f8a | 17 | 'custom_group_id' => $customGroup['id'], |
6a488035 TO |
18 | 'dataType' => 'String', |
19 | 'htmlType' => 'Text', | |
20 | ); | |
5c988f8a | 21 | $customField = $this->customFieldCreate($fields); |
6a488035 TO |
22 | |
23 | $params = array( | |
24 | 'entityID' => $contactID, | |
5c988f8a | 25 | "custom_{$customField['id']}_-1" => 'First String', |
6a488035 | 26 | ); |
5c988f8a | 27 | CRM_Core_BAO_CustomValueTable::setValues($params); |
6a488035 TO |
28 | |
29 | $newParams = array( | |
30 | 'entityID' => $contactID, | |
5c988f8a | 31 | "custom_{$customField['id']}" => 1, |
6a488035 TO |
32 | ); |
33 | $result = CRM_Core_BAO_CustomValueTable::getValues($newParams); | |
34 | ||
5c988f8a | 35 | $this->assertEquals($params["custom_{$customField['id']}_-1"], $result["custom_{$customField['id']}_1"]); |
6a488035 TO |
36 | $this->assertEquals($params['entityID'], $result['entityID']); |
37 | ||
5c988f8a | 38 | $this->customFieldDelete($customField['id']); |
39 | $this->customGroupDelete($customGroup['id']); | |
93ac19cd | 40 | $this->contactDelete($contactID); |
6a488035 TO |
41 | } |
42 | ||
00be9182 | 43 | public function testCustomGroupMultipleDouble() { |
f2040bc6 | 44 | $contactID = $this->individualCreate(); |
5c988f8a | 45 | $customGroup = $this->customGroupCreate(array('is_multiple' => 1)); |
92915c55 | 46 | $fields = array( |
5c988f8a | 47 | 'custom_group_id' => $customGroup['id'], |
6a488035 TO |
48 | 'dataType' => 'String', |
49 | 'htmlType' => 'Text', | |
50 | ); | |
5c988f8a | 51 | $customField = $this->customFieldCreate($fields); |
6a488035 TO |
52 | |
53 | $params = array( | |
54 | 'entityID' => $contactID, | |
5c988f8a | 55 | "custom_{$customField['id']}_-1" => 'First String', |
56 | "custom_{$customField['id']}_-2" => 'Second String', | |
6a488035 | 57 | ); |
5c988f8a | 58 | CRM_Core_BAO_CustomValueTable::setValues($params); |
6a488035 TO |
59 | |
60 | $newParams = array( | |
61 | 'entityID' => $contactID, | |
5c988f8a | 62 | "custom_{$customField['id']}" => 1, |
6a488035 TO |
63 | ); |
64 | $result = CRM_Core_BAO_CustomValueTable::getValues($newParams); | |
65 | ||
5c988f8a | 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"]); | |
6a488035 TO |
68 | $this->assertEquals($params['entityID'], $result['entityID']); |
69 | ||
5c988f8a | 70 | $this->customFieldDelete($customField['id']); |
71 | $this->customGroupDelete($customGroup['id']); | |
93ac19cd | 72 | $this->contactDelete($contactID); |
6a488035 TO |
73 | } |
74 | ||
00be9182 | 75 | public function testCustomGroupMultipleUpdate() { |
f2040bc6 | 76 | $contactID = $this->individualCreate(); |
5c988f8a | 77 | $customGroup = $this->customGroupCreate(array('is_multiple' => 1)); |
92915c55 | 78 | $fields = array( |
5c988f8a | 79 | 'custom_group_id' => $customGroup['id'], |
6a488035 TO |
80 | 'dataType' => 'String', |
81 | 'htmlType' => 'Text', | |
82 | ); | |
5c988f8a | 83 | $customField = $this->customFieldCreate($fields); |
6a488035 TO |
84 | |
85 | $params = array( | |
86 | 'entityID' => $contactID, | |
5c988f8a | 87 | "custom_{$customField['id']}_-1" => 'First String', |
88 | "custom_{$customField['id']}_-2" => 'Second String', | |
89 | "custom_{$customField['id']}_-3" => 'Third String', | |
6a488035 | 90 | ); |
5c988f8a | 91 | CRM_Core_BAO_CustomValueTable::setValues($params); |
6a488035 TO |
92 | |
93 | $newParams = array( | |
94 | 'entityID' => $contactID, | |
5c988f8a | 95 | "custom_{$customField['id']}_1" => 'Updated First String', |
96 | "custom_{$customField['id']}_3" => 'Updated Third String', | |
6a488035 | 97 | ); |
5c988f8a | 98 | CRM_Core_BAO_CustomValueTable::setValues($newParams); |
6a488035 TO |
99 | |
100 | $getParams = array( | |
101 | 'entityID' => $contactID, | |
5c988f8a | 102 | "custom_{$customField['id']}" => 1, |
6a488035 TO |
103 | ); |
104 | $result = CRM_Core_BAO_CustomValueTable::getValues($getParams); | |
105 | ||
5c988f8a | 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"]); | |
6a488035 TO |
109 | $this->assertEquals($params['entityID'], $result['entityID']); |
110 | ||
5c988f8a | 111 | $this->customFieldDelete($customField['id']); |
112 | $this->customGroupDelete($customGroup['id']); | |
93ac19cd | 113 | $this->contactDelete($contactID); |
6a488035 TO |
114 | } |
115 | ||
5c988f8a | 116 | public function testCustomGroupMultipleOldFormat() { |
f2040bc6 | 117 | $contactID = $this->individualCreate(); |
5c988f8a | 118 | $customGroup = $this->customGroupCreate(array('is_multiple' => 1)); |
92915c55 | 119 | $fields = array( |
5c988f8a | 120 | 'custom_group_id' => $customGroup['id'], |
6a488035 TO |
121 | 'dataType' => 'String', |
122 | 'htmlType' => 'Text', | |
123 | ); | |
5c988f8a | 124 | $customField = $this->customFieldCreate($fields); |
6a488035 TO |
125 | |
126 | $params = array( | |
127 | 'entityID' => $contactID, | |
5c988f8a | 128 | "custom_{$customField['id']}" => 'First String', |
6a488035 | 129 | ); |
5c988f8a | 130 | CRM_Core_BAO_CustomValueTable::setValues($params); |
6a488035 TO |
131 | |
132 | $newParams = array( | |
133 | 'entityID' => $contactID, | |
5c988f8a | 134 | "custom_{$customField['id']}" => 1, |
6a488035 TO |
135 | ); |
136 | $result = CRM_Core_BAO_CustomValueTable::getValues($newParams); | |
137 | ||
5c988f8a | 138 | $this->assertEquals($params["custom_{$customField['id']}"], $result["custom_{$customField['id']}_1"]); |
6a488035 TO |
139 | $this->assertEquals($params['entityID'], $result['entityID']); |
140 | ||
5c988f8a | 141 | $this->customFieldDelete($customField['id']); |
142 | $this->customGroupDelete($customGroup['id']); | |
93ac19cd | 143 | $this->contactDelete($contactID); |
6a488035 | 144 | } |
96025800 | 145 | |
6a488035 | 146 | } |