|
@@ 140-157 (lines=18) @@
|
| 137 |
|
$this->assertEquals('Third pending notification', $notifications->get(2)->getMessage()); |
| 138 |
|
} |
| 139 |
|
|
| 140 |
|
public function testGetUserBadges() |
| 141 |
|
{ |
| 142 |
|
$badgesData = json_decode(file_get_contents(__DIR__ . '/../dummy_response_data/getUserBadges.json'), true); |
| 143 |
|
$badgesData = $badgesData['badges']; |
| 144 |
|
// Set mocked response |
| 145 |
|
$body = new Stream(fopen(__DIR__ . '/../dummy_response_data/getUserBadges.json', 'r')); |
| 146 |
|
$this->subscriber->addResponse(new Response(200, [], $body)); |
| 147 |
|
|
| 148 |
|
$badges = $this->client->getUserBadges(''); |
| 149 |
|
$this->assertCount(2, $badges); |
| 150 |
|
foreach ($badges as $key => $badge) { |
| 151 |
|
$this->assertEquals($badgesData[$key]['type'], $badge->getType()); |
| 152 |
|
$this->assertInstanceOf('DateTime', $badge->getNotificationDate()); |
| 153 |
|
$this->assertEquals($badgesData[$key]['imageUrl'], $badge->getImageUrl()); |
| 154 |
|
$this->assertEquals($badgesData[$key]['name'], $badge->getName()); |
| 155 |
|
$this->assertEquals($badgesData[$key]['description'], $badge->getDescription()); |
| 156 |
|
} |
| 157 |
|
} |
| 158 |
|
|
| 159 |
|
public function testGetUserAchievements() |
| 160 |
|
{ |
|
@@ 195-212 (lines=18) @@
|
| 192 |
|
} |
| 193 |
|
} |
| 194 |
|
|
| 195 |
|
public function testGetQuests() |
| 196 |
|
{ |
| 197 |
|
$questsData = json_decode(file_get_contents(__DIR__ . '/../dummy_response_data/getQuests.json'), true); |
| 198 |
|
$questsData = $questsData['quests']; |
| 199 |
|
// Set mocked response |
| 200 |
|
$body = new Stream(fopen(__DIR__ . '/../dummy_response_data/getQuests.json', 'r')); |
| 201 |
|
$this->subscriber->addResponse(new Response(200, [], $body)); |
| 202 |
|
|
| 203 |
|
$quests = $this->client->getQuests(); |
| 204 |
|
$this->assertCount(3, $quests); |
| 205 |
|
foreach ($quests as $key => $quest) { |
| 206 |
|
$this->assertInstanceof('DateTime', $quest->getStartDate()); |
| 207 |
|
$this->assertEquals($questsData[$key]['code'], $quest->getCode()); |
| 208 |
|
$this->assertEquals($questsData[$key]['generatesNotification'], $quest->getGeneratesNotification()); |
| 209 |
|
$this->assertEquals($questsData[$key]['name'], $quest->getName()); |
| 210 |
|
$this->assertEquals($questsData[$key]['description'], $quest->getDescription()); |
| 211 |
|
} |
| 212 |
|
} |
| 213 |
|
|
| 214 |
|
public function testGetLevels() |
| 215 |
|
{ |
|
@@ 275-292 (lines=18) @@
|
| 272 |
|
$this->assertEquals('VCM', $level->getScenario()->getName()); |
| 273 |
|
} |
| 274 |
|
|
| 275 |
|
public function testGetTeamsLeaderboard() |
| 276 |
|
{ |
| 277 |
|
$teamsData = json_decode(file_get_contents(__DIR__ . '/../dummy_response_data/getTeamsLeaderboard.json'), true); |
| 278 |
|
$teamsData = $teamsData['scores']; |
| 279 |
|
// Set mocked response |
| 280 |
|
$body = new Stream(fopen(__DIR__ . '/../dummy_response_data/getTeamsLeaderboard.json', 'r')); |
| 281 |
|
$this->subscriber->addResponse(new Response(200, [], $body)); |
| 282 |
|
|
| 283 |
|
$teams = $this->client->getTeamsLeaderboard(); |
| 284 |
|
$this->assertCount(4, $teams); |
| 285 |
|
foreach ($teams as $key => $team) { |
| 286 |
|
$this->assertEquals($teamsData[$key]['teamName'], $team->getTeamName()); |
| 287 |
|
$this->assertEquals($teamsData[$key]['avatar'], $team->getAvatar()); |
| 288 |
|
$this->assertEquals($teamsData[$key]['description'], $team->getDescription()); |
| 289 |
|
$this->assertEquals($teamsData[$key]['position'], $team->getPosition()); |
| 290 |
|
$this->assertEquals($teamsData[$key]['score'], $team->getScore()); |
| 291 |
|
} |
| 292 |
|
} |
| 293 |
|
|
| 294 |
|
public function testGetTeamsLeaderboardWithParams() |
| 295 |
|
{ |
|
@@ 314-331 (lines=18) @@
|
| 311 |
|
$this->assertEquals('12345', $queryParams['userId']); |
| 312 |
|
} |
| 313 |
|
|
| 314 |
|
public function testGetItemsLeaderboard() |
| 315 |
|
{ |
| 316 |
|
$itemsData = json_decode(file_get_contents(__DIR__ . '/../dummy_response_data/getItemsLeaderboard.json'), true); |
| 317 |
|
$itemsData = $itemsData['leaderboard']; |
| 318 |
|
// Set mocked response |
| 319 |
|
$body = new Stream(fopen(__DIR__ . '/../dummy_response_data/getItemsLeaderboard.json', 'r')); |
| 320 |
|
$this->subscriber->addResponse(new Response(200, [], $body)); |
| 321 |
|
|
| 322 |
|
$items = $this->client->getItemsLeaderboard(); |
| 323 |
|
$this->assertCount(3, $items); |
| 324 |
|
foreach ($items as $key => $item) { |
| 325 |
|
$this->assertEquals($itemsData[$key]['id'], $item->getItemId()); |
| 326 |
|
$this->assertEquals($itemsData[$key]['title'], $item->getTitle()); |
| 327 |
|
$this->assertEquals($itemsData[$key]['description'], $item->getDescription()); |
| 328 |
|
$this->assertEquals($itemsData[$key]['author'], $item->getAuthor()); |
| 329 |
|
$this->assertInstanceOf('DateTime', $item->getDateCreated()); |
| 330 |
|
} |
| 331 |
|
} |
| 332 |
|
|
| 333 |
|
public function testRateItem() |
| 334 |
|
{ |