@@ 119-177 (lines=59) @@ | ||
116 | $this->assertTrue($audience->getName()=='Spanish speaking San Franciscans'); |
|
117 | } |
|
118 | ||
119 | public function testCreate() |
|
120 | { |
|
121 | // Mock 'OptimizelyApiClient' object to avoid real API calls |
|
122 | $optimizelyApiClientMock = $this->getMockBuilder('\WebMarketingROI\OptimizelyPHP\OptimizelyApiClient') |
|
123 | ->disableOriginalConstructor() |
|
124 | ->getMock(); |
|
125 | ||
126 | $result = new Result(array( |
|
127 | "project_id" => 1000, |
|
128 | "archived" => false, |
|
129 | "conditions" => array( |
|
130 | "and", |
|
131 | array( |
|
132 | "type" => "language", |
|
133 | "value" => "es" |
|
134 | ), |
|
135 | array( |
|
136 | "type" => "location", |
|
137 | "value" => "US-CA-SANFRANCISCO" |
|
138 | ) |
|
139 | ), |
|
140 | "description" => "People that speak spanish and are in San Francisco", |
|
141 | "name" => "Spanish speaking San Franciscans", |
|
142 | "segmentation" => true, |
|
143 | "created" => "2016-10-18T05:07:04.083Z", |
|
144 | "id" => 5000, |
|
145 | "last_modified" => "2016-10-18T05:07:04.083Z" |
|
146 | ), 201); |
|
147 | ||
148 | $optimizelyApiClientMock->method('sendApiRequest') |
|
149 | ->willReturn($result); |
|
150 | ||
151 | $audiencesService = new Audiences($optimizelyApiClientMock); |
|
152 | ||
153 | $audience = new Audience(array( |
|
154 | "project_id" => 1000, |
|
155 | "archived" => false, |
|
156 | "conditions" => array( |
|
157 | "and", |
|
158 | array( |
|
159 | "type" => "language", |
|
160 | "value" => "es" |
|
161 | ), |
|
162 | array( |
|
163 | "type" => "location", |
|
164 | "value" => "US-CA-SANFRANCISCO" |
|
165 | ) |
|
166 | ), |
|
167 | "description" => "People that speak spanish and are in San Francisco", |
|
168 | "name" => "Spanish speaking San Franciscans", |
|
169 | "segmentation" => true |
|
170 | )); |
|
171 | ||
172 | $result = $audiencesService->create($audience); |
|
173 | $createdAudience = $result->getPayload(); |
|
174 | ||
175 | $this->assertTrue($createdAudience instanceOf Audience); |
|
176 | $this->assertTrue($createdAudience->getName()=='Spanish speaking San Franciscans'); |
|
177 | } |
|
178 | ||
179 | public function testUpdate() |
|
180 | { |
|
@@ 179-237 (lines=59) @@ | ||
176 | $this->assertTrue($createdAudience->getName()=='Spanish speaking San Franciscans'); |
|
177 | } |
|
178 | ||
179 | public function testUpdate() |
|
180 | { |
|
181 | // Mock 'OptimizelyApiClient' object to avoid real API calls |
|
182 | $optimizelyApiClientMock = $this->getMockBuilder('\WebMarketingROI\OptimizelyPHP\OptimizelyApiClient') |
|
183 | ->disableOriginalConstructor() |
|
184 | ->getMock(); |
|
185 | ||
186 | $result = new Result(array( |
|
187 | "project_id" => 1000, |
|
188 | "archived" => false, |
|
189 | "conditions" => array( |
|
190 | "and", |
|
191 | array( |
|
192 | "type" => "language", |
|
193 | "value" => "es" |
|
194 | ), |
|
195 | array( |
|
196 | "type" => "location", |
|
197 | "value" => "US-CA-SANFRANCISCO" |
|
198 | ) |
|
199 | ), |
|
200 | "description" => "People that speak spanish and are in San Francisco", |
|
201 | "name" => "Spanish speaking San Franciscans", |
|
202 | "segmentation" => true, |
|
203 | "created" => "2016-10-18T05:07:04.083Z", |
|
204 | "id" => 5000, |
|
205 | "last_modified" => "2016-10-18T05:07:04.083Z" |
|
206 | ), 200); |
|
207 | ||
208 | $optimizelyApiClientMock->method('sendApiRequest') |
|
209 | ->willReturn($result); |
|
210 | ||
211 | $audiencesService = new Audiences($optimizelyApiClientMock); |
|
212 | ||
213 | $audience = new Audience(array( |
|
214 | "project_id" => 1000, |
|
215 | "archived" => false, |
|
216 | "conditions" => array( |
|
217 | "and", |
|
218 | array( |
|
219 | "type" => "language", |
|
220 | "value" => "es" |
|
221 | ), |
|
222 | array( |
|
223 | "type" => "location", |
|
224 | "value" => "US-CA-SANFRANCISCO" |
|
225 | ) |
|
226 | ), |
|
227 | "description" => "People that speak spanish and are in San Francisco", |
|
228 | "name" => "Spanish speaking San Franciscans", |
|
229 | "segmentation" => true |
|
230 | )); |
|
231 | ||
232 | $result = $audiencesService->update(5000, $audience); |
|
233 | $createdAudience = $result->getPayload(); |
|
234 | ||
235 | $this->assertTrue($createdAudience instanceOf Audience); |
|
236 | $this->assertTrue($createdAudience->getName()=='Spanish speaking San Franciscans'); |
|
237 | } |
|
238 | ||
239 | public function testIntegration() |
|
240 | { |