Skip to content

Commit 6850c9d

Browse files
committed
Increase code coverage.
1 parent 238f67b commit 6850c9d

File tree

2 files changed

+295
-3
lines changed

2 files changed

+295
-3
lines changed

src/main/php/Gomoob/Pushwoosh/Client/PushwooshMock.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public function getNearestZone(GetNearestZoneRequest $getNearestZoneRequest)
151151
return GetNearestZoneResponse::create(
152152
json_decode('{
153153
"status_code":200,
154-
"status_message":"OK"
154+
"status_message":"OK",
155155
"response": {
156156
"name":"zone name",
157157
"lat":42,
@@ -191,7 +191,7 @@ public function getTags(GetTagsRequest $getTagsRequest)
191191
return GetTagsResponse::create(
192192
json_decode('{
193193
"status_code": 200,
194-
"status_message": "OK"
194+
"status_message": "OK",
195195
"response": {
196196
"result": {
197197
"Language": "fr"

src/test/php/Gomoob/Pushwoosh/Client/PushwooshMockTest.php

Lines changed: 293 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,18 @@
88
*/
99
namespace Gomoob\Pushwoosh\Client;
1010

11-
use PHPUnit\Framework\TestCase;
1211
use Gomoob\Pushwoosh\Model\Request\CreateMessageRequest;
1312
use Gomoob\Pushwoosh\Model\Request\CreateTargetedMessageRequest;
13+
use Gomoob\Pushwoosh\Model\Request\DeleteMessageRequest;
14+
15+
use PHPUnit\Framework\TestCase;
16+
use Gomoob\Pushwoosh\Model\Request\GetNearestZoneRequest;
17+
use Gomoob\Pushwoosh\Model\Request\GetTagsRequest;
18+
use Gomoob\Pushwoosh\Model\Request\PushStatRequest;
19+
use Gomoob\Pushwoosh\Model\Request\RegisterDeviceRequest;
20+
use Gomoob\Pushwoosh\Model\Request\SetBadgeRequest;
21+
use Gomoob\Pushwoosh\Model\Request\SetTagsRequest;
22+
use Gomoob\Pushwoosh\Model\Request\UnregisterDeviceRequest;
1423

1524
/**
1625
* Test case used to test the `PushwooshMock` class.
@@ -20,6 +29,33 @@
2029
*/
2130
class PushwooshMockTest extends TestCase
2231
{
32+
/**
33+
* Test method for the `clear()` function.
34+
*
35+
* @group PushwooshTest.clear
36+
*/
37+
public function testClear()
38+
{
39+
$pushwooshMock = new PushwooshMock();
40+
41+
// At the beginning no pushwoosh requests have been sent
42+
$this->assertCount(0, $pushwooshMock->getPushwooshRequests());
43+
44+
// Execute requests
45+
$pushwooshMock->createMessage(CreateMessageRequest::create());
46+
$pushwooshMock->createMessage(CreateMessageRequest::create());
47+
$pushwooshMock->createMessage(CreateMessageRequest::create());
48+
$pushwooshMock->createMessage(CreateMessageRequest::create());
49+
$pushwooshMock->createMessage(CreateMessageRequest::create());
50+
51+
// 5 requests have been send
52+
$this->assertCount(5, $pushwooshMock->getPushwooshRequests());
53+
54+
// Clear and test
55+
$pushwooshMock->clear();
56+
$this->assertCount(0, $pushwooshMock->getPushwooshRequests());
57+
}
58+
2359
/**
2460
* Test method for the `createMessage(CreateMessageRequest $createMessageRequest)` function.
2561
*
@@ -73,4 +109,260 @@ public function testCreateTargetedMessage()
73109
$createTargetedMessageResponseResponse = $createTargetedMessageResponse->getResponse();
74110
$this->assertNotNull($createTargetedMessageResponseResponse);
75111
}
112+
113+
/**
114+
* Test method for the `deleteMessage(DeleteMessageRequest $deleteMessageRequest)` function.
115+
*
116+
* @group PushwooshTest.deleteMessage
117+
*/
118+
public function testDeleteMessage()
119+
{
120+
$pushwooshMock = new PushwooshMock();
121+
122+
// At the beginning no pushwoosh requests have been sent
123+
$this->assertCount(0, $pushwooshMock->getPushwooshRequests());
124+
125+
// Test call
126+
$deleteMessageRequest = DeleteMessageRequest::create();
127+
$deleteMessageResponse = $pushwooshMock->deleteMessage($deleteMessageRequest);
128+
129+
$this->assertNotNull($deleteMessageResponse);
130+
$this->assertSame(200, $deleteMessageResponse->getStatusCode());
131+
$this->assertSame('OK', $deleteMessageResponse->getStatusMessage());
132+
$this->assertTrue($deleteMessageResponse->isOk());
133+
134+
// One more requests has been send
135+
$this->assertCount(1, $pushwooshMock->getPushwooshRequests());
136+
$this->assertSame($deleteMessageRequest, $pushwooshMock->getPushwooshRequests()[0]);
137+
}
138+
139+
/**
140+
* Test method for the `getNearestZone(GetNearestZoneRequest $getNearestZoneRequest)` function.
141+
*
142+
* @group PushwooshTest.getNearestZone
143+
*/
144+
public function testGetNearestZone()
145+
{
146+
$pushwooshMock = new PushwooshMock();
147+
148+
// At the beginning no pushwoosh requests have been sent
149+
$this->assertCount(0, $pushwooshMock->getPushwooshRequests());
150+
151+
// Test call
152+
$getNearestZoneRequest = GetNearestZoneRequest::create()->setLat(43)->setLng(52);
153+
$getNearestZoneResponse = $pushwooshMock->getNearestZone($getNearestZoneRequest);
154+
155+
$this->assertNotNull($getNearestZoneResponse);
156+
$this->assertSame(200, $getNearestZoneResponse->getStatusCode());
157+
$this->assertSame('OK', $getNearestZoneResponse->getStatusMessage());
158+
$this->assertTrue($getNearestZoneResponse->isOk());
159+
160+
$getNearestZoneResponseResponse = $getNearestZoneResponse->getResponse();
161+
$this->assertNotNull($getNearestZoneResponseResponse);
162+
$this->assertSame(4715784, $getNearestZoneResponseResponse->getDistance());
163+
$this->assertSame(42, $getNearestZoneResponseResponse->getLat());
164+
$this->assertSame(42, $getNearestZoneResponseResponse->getLng());
165+
$this->assertSame('zone name', $getNearestZoneResponseResponse->getName());
166+
$this->assertSame(100, $getNearestZoneResponseResponse->getRange());
167+
168+
// One more requests has been send
169+
$this->assertCount(1, $pushwooshMock->getPushwooshRequests());
170+
$this->assertSame($getNearestZoneRequest, $pushwooshMock->getPushwooshRequests()[0]);
171+
}
172+
173+
/**
174+
* Test method for the `getApplication()` and `setApplication($application)` functions.
175+
*/
176+
public function testGetSetApplication()
177+
{
178+
$pushwoosh = new PushwooshMock();
179+
$this->assertNull($pushwoosh->getApplication());
180+
$this->assertSame($pushwoosh, $pushwoosh->setApplication('APPLICATION'));
181+
$this->assertSame('APPLICATION', $pushwoosh->getApplication());
182+
}
183+
184+
/**
185+
* Test method for the `getApplicationsGroup()` and `setApplicationsGroup($applicationsGroup)`
186+
* functions.
187+
*/
188+
public function testGetSetApplicationsGroup()
189+
{
190+
$pushwoosh = new PushwooshMock();
191+
$this->assertNull($pushwoosh->getApplicationsGroup());
192+
$this->assertSame($pushwoosh, $pushwoosh->setApplicationsGroup('APPLICATIONS_GROUP'));
193+
$this->assertSame('APPLICATIONS_GROUP', $pushwoosh->getApplicationsGroup());
194+
}
195+
196+
/**
197+
* Test method for the `getAuth()` and `setAuth($auth)` functions.
198+
*/
199+
public function testGetSetAuth()
200+
{
201+
$pushwoosh = new PushwooshMock();
202+
$this->assertNull($pushwoosh->getAuth());
203+
$this->assertSame($pushwoosh, $pushwoosh->setAuth('AUTH'));
204+
$this->assertSame('AUTH', $pushwoosh->getAuth());
205+
}
206+
207+
/**
208+
* Test method for the `getTags(GetTagsRequest $getTagsRequest)` function.
209+
*
210+
* @group PushwooshTest.getTags
211+
*/
212+
public function testGetTags()
213+
{
214+
$pushwooshMock = new PushwooshMock();
215+
216+
// At the beginning no pushwoosh requests have been sent
217+
$this->assertCount(0, $pushwooshMock->getPushwooshRequests());
218+
219+
// Test call
220+
$getTagsRequest = GetTagsRequest::create();
221+
$getTagsResponse = $pushwooshMock->getTags($getTagsRequest);
222+
223+
$this->assertNotNull($getTagsResponse);
224+
$this->assertSame(200, $getTagsResponse->getStatusCode());
225+
$this->assertSame('OK', $getTagsResponse->getStatusMessage());
226+
$this->assertTrue($getTagsResponse->isOk());
227+
228+
$getTagsResponseResponse = $getTagsResponse->getResponse();
229+
$this->assertNotNull($getTagsResponseResponse);
230+
$this->assertCount(1, $getTagsResponseResponse->getResult());
231+
$this->assertArrayHasKey('Language', $getTagsResponseResponse->getResult());
232+
$this->assertSame('fr', $getTagsResponseResponse->getResult()['Language']);
233+
234+
// One more requests has been send
235+
$this->assertCount(1, $pushwooshMock->getPushwooshRequests());
236+
$this->assertSame($getTagsRequest, $pushwooshMock->getPushwooshRequests()[0]);
237+
}
238+
239+
/**
240+
* Test method for the `pushStat(PushStatRequest $pushStatRequest)` function.
241+
*
242+
* @group PushwooshTest.pushStat
243+
*/
244+
public function testPushStat()
245+
{
246+
$pushwooshMock = new PushwooshMock();
247+
248+
// At the beginning no pushwoosh requests have been sent
249+
$this->assertCount(0, $pushwooshMock->getPushwooshRequests());
250+
251+
// Test call
252+
$pushStatRequest = PushStatRequest::create();
253+
$pushStatResponse = $pushwooshMock->pushStat($pushStatRequest);
254+
255+
$this->assertNotNull($pushStatResponse);
256+
$this->assertSame(200, $pushStatResponse->getStatusCode());
257+
$this->assertSame('OK', $pushStatResponse->getStatusMessage());
258+
$this->assertTrue($pushStatResponse->isOk());
259+
260+
// One more requests has been send
261+
$this->assertCount(1, $pushwooshMock->getPushwooshRequests());
262+
$this->assertSame($pushStatRequest, $pushwooshMock->getPushwooshRequests()[0]);
263+
}
264+
265+
/**
266+
* Test method for the `registerDevice(RegisterDeviceRequest $registerDeviceRequest)` function.
267+
*
268+
* @group PushwooshTest.registerDevice
269+
*/
270+
public function testRegisterDevice()
271+
{
272+
$pushwooshMock = new PushwooshMock();
273+
274+
// At the beginning no pushwoosh requests have been sent
275+
$this->assertCount(0, $pushwooshMock->getPushwooshRequests());
276+
277+
// Test call
278+
$registerDeviceRequest = RegisterDeviceRequest::create();
279+
$registerDeviceResponse = $pushwooshMock->registerDevice($registerDeviceRequest);
280+
281+
$this->assertNotNull($registerDeviceResponse);
282+
$this->assertSame(200, $registerDeviceResponse->getStatusCode());
283+
$this->assertSame('OK', $registerDeviceResponse->getStatusMessage());
284+
$this->assertTrue($registerDeviceResponse->isOk());
285+
286+
// One more requests has been send
287+
$this->assertCount(1, $pushwooshMock->getPushwooshRequests());
288+
$this->assertSame($registerDeviceRequest, $pushwooshMock->getPushwooshRequests()[0]);
289+
}
290+
291+
/**
292+
* Test method for the `setBadge(SetBadgeRequest $setBadgeRequest)` function.
293+
*
294+
* @group PushwooshTest.setBadge
295+
*/
296+
public function testSetBadge()
297+
{
298+
$pushwooshMock = new PushwooshMock();
299+
300+
// At the beginning no pushwoosh requests have been sent
301+
$this->assertCount(0, $pushwooshMock->getPushwooshRequests());
302+
303+
// Test call
304+
$setBadgeRequest = SetBadgeRequest::create();
305+
$setBadgeResponse = $pushwooshMock->setBadge($setBadgeRequest);
306+
307+
$this->assertNotNull($setBadgeResponse);
308+
$this->assertSame(200, $setBadgeResponse->getStatusCode());
309+
$this->assertSame('OK', $setBadgeResponse->getStatusMessage());
310+
$this->assertTrue($setBadgeResponse->isOk());
311+
312+
// One more requests has been send
313+
$this->assertCount(1, $pushwooshMock->getPushwooshRequests());
314+
$this->assertSame($setBadgeRequest, $pushwooshMock->getPushwooshRequests()[0]);
315+
}
316+
317+
/**
318+
* Test method for the `setTags(SetTagsRequest $setTagsRequest)` function.
319+
*
320+
* @group PushwooshTest.setTags
321+
*/
322+
public function testSetTags()
323+
{
324+
$pushwooshMock = new PushwooshMock();
325+
326+
// At the beginning no pushwoosh requests have been sent
327+
$this->assertCount(0, $pushwooshMock->getPushwooshRequests());
328+
329+
// Test call
330+
$setTagsRequest = SetTagsRequest::create();
331+
$setTagsResponse = $pushwooshMock->setTags($setTagsRequest);
332+
333+
$this->assertNotNull($setTagsResponse);
334+
$this->assertSame(200, $setTagsResponse->getStatusCode());
335+
$this->assertSame('OK', $setTagsResponse->getStatusMessage());
336+
$this->assertTrue($setTagsResponse->isOk());
337+
338+
// One more requests has been send
339+
$this->assertCount(1, $pushwooshMock->getPushwooshRequests());
340+
$this->assertSame($setTagsRequest, $pushwooshMock->getPushwooshRequests()[0]);
341+
}
342+
343+
/**
344+
* Test method for the `unregisterDevice(UnregisterDeviceRequest $unregisterDeviceRequest)` function.
345+
*
346+
* @group PushwooshTest.unregisterDevice
347+
*/
348+
public function testUnregisterDevice()
349+
{
350+
$pushwooshMock = new PushwooshMock();
351+
352+
// At the beginning no pushwoosh requests have been sent
353+
$this->assertCount(0, $pushwooshMock->getPushwooshRequests());
354+
355+
// Test call
356+
$unregisterDeviceRequest = UnregisterDeviceRequest::create();
357+
$unregisterDeviceResponse = $pushwooshMock->unregisterDevice($unregisterDeviceRequest);
358+
359+
$this->assertNotNull($unregisterDeviceResponse);
360+
$this->assertSame(200, $unregisterDeviceResponse->getStatusCode());
361+
$this->assertSame('OK', $unregisterDeviceResponse->getStatusMessage());
362+
$this->assertTrue($unregisterDeviceResponse->isOk());
363+
364+
// One more requests has been send
365+
$this->assertCount(1, $pushwooshMock->getPushwooshRequests());
366+
$this->assertSame($unregisterDeviceRequest, $pushwooshMock->getPushwooshRequests()[0]);
367+
}
76368
}

0 commit comments

Comments
 (0)