tests/phpunit - Declare `@group headless`
[civicrm-core.git] / tests / phpunit / CRM / Core / BAO / CustomValueTableMultipleTest.php
1 <?php
2
3 /**
4 * Class CRM_Core_BAO_CustomValueTableMultipleTest
5 * @group headless
6 */
7 class CRM_Core_BAO_CustomValueTableMultipleTest extends CiviUnitTestCase {
8
9 public function setUp() {
10 parent::setUp();
11 }
12
13 public function testCustomGroupMultipleSingle() {
14 $params = array();
15 $contactID = Contact::createIndividual();
16 $customGroup = Custom::createGroup($params, 'Individual', TRUE);
17 $fields = array(
18 'groupId' => $customGroup->id,
19 'dataType' => 'String',
20 'htmlType' => 'Text',
21 );
22 $customField = Custom::createField($params, $fields);
23
24 $params = array(
25 'entityID' => $contactID,
26 "custom_{$customField->id}_-1" => 'First String',
27 );
28 $error = CRM_Core_BAO_CustomValueTable::setValues($params);
29
30 $newParams = array(
31 'entityID' => $contactID,
32 "custom_{$customField->id}" => 1,
33 );
34 $result = CRM_Core_BAO_CustomValueTable::getValues($newParams);
35
36 $this->assertEquals($params["custom_{$customField->id}_-1"], $result["custom_{$customField->id}_1"]);
37 $this->assertEquals($params['entityID'], $result['entityID']);
38
39 Custom::deleteField($customField);
40 Custom::deleteGroup($customGroup);
41 Contact::delete($contactID);
42 }
43
44 public function testCustomGroupMultipleDouble() {
45 $params = array();
46 $contactID = Contact::createIndividual();
47 $customGroup = Custom::createGroup($params, 'Individual', TRUE);
48 $fields = array(
49 'groupId' => $customGroup->id,
50 'dataType' => 'String',
51 'htmlType' => 'Text',
52 );
53 $customField = Custom::createField($params, $fields);
54
55 $params = array(
56 'entityID' => $contactID,
57 "custom_{$customField->id}_-1" => 'First String',
58 "custom_{$customField->id}_-2" => 'Second String',
59 );
60 $error = CRM_Core_BAO_CustomValueTable::setValues($params);
61
62 $newParams = array(
63 'entityID' => $contactID,
64 "custom_{$customField->id}" => 1,
65 );
66 $result = CRM_Core_BAO_CustomValueTable::getValues($newParams);
67
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']);
71
72 Custom::deleteField($customField);
73 Custom::deleteGroup($customGroup);
74 Contact::delete($contactID);
75 }
76
77 public function testCustomGroupMultipleUpdate() {
78 $params = array();
79 $contactID = Contact::createIndividual();
80 $customGroup = Custom::createGroup($params, 'Individual', TRUE);
81 $fields = array(
82 'groupId' => $customGroup->id,
83 'dataType' => 'String',
84 'htmlType' => 'Text',
85 );
86 $customField = Custom::createField($params, $fields);
87
88 $params = array(
89 'entityID' => $contactID,
90 "custom_{$customField->id}_-1" => 'First String',
91 "custom_{$customField->id}_-2" => 'Second String',
92 "custom_{$customField->id}_-3" => 'Third String',
93 );
94 $error = CRM_Core_BAO_CustomValueTable::setValues($params);
95
96 $newParams = array(
97 'entityID' => $contactID,
98 "custom_{$customField->id}_1" => 'Updated First String',
99 "custom_{$customField->id}_3" => 'Updated Third String',
100 );
101 $result = CRM_Core_BAO_CustomValueTable::setValues($newParams);
102
103 $getParams = array(
104 'entityID' => $contactID,
105 "custom_{$customField->id}" => 1,
106 );
107 $result = CRM_Core_BAO_CustomValueTable::getValues($getParams);
108
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']);
113
114 Custom::deleteField($customField);
115 Custom::deleteGroup($customGroup);
116 Contact::delete($contactID);
117 }
118
119 public function testCustomGroupMultipleOldFormate() {
120 $params = array();
121 $contactID = Contact::createIndividual();
122 $customGroup = Custom::createGroup($params, 'Individual', TRUE);
123 $fields = array(
124 'groupId' => $customGroup->id,
125 'dataType' => 'String',
126 'htmlType' => 'Text',
127 );
128 $customField = Custom::createField($params, $fields);
129
130 $params = array(
131 'entityID' => $contactID,
132 "custom_{$customField->id}" => 'First String',
133 );
134 $error = CRM_Core_BAO_CustomValueTable::setValues($params);
135
136 $newParams = array(
137 'entityID' => $contactID,
138 "custom_{$customField->id}" => 1,
139 );
140 $result = CRM_Core_BAO_CustomValueTable::getValues($newParams);
141
142 $this->assertEquals($params["custom_{$customField->id}"], $result["custom_{$customField->id}_1"]);
143 $this->assertEquals($params['entityID'], $result['entityID']);
144
145 Custom::deleteField($customField);
146 Custom::deleteGroup($customGroup);
147 Contact::delete($contactID);
148 }
149
150 }