public function testGetStatuses() { $response = file_get_contents(__DIR__ . '/resources/api_status.json'); $this->expectClientCall(Api::REQUEST_GET, '/rest/api/2/status', array(), $response); $actual = $this->api->getStatuses(); $response_decoded = json_decode($response, true); $expected = array('1' => $response_decoded[0], '3' => $response_decoded[1]); $this->assertEquals($expected, $actual); // Second time we call the method the results should be cached and not trigger an API Request. $this->client->sendRequest(Api::REQUEST_GET, '/rest/api/2/status', array(), self::ENDPOINT, $this->credential)->shouldNotBeCalled(); $this->assertEquals($expected, $this->api->getStatuses(), 'Calling twice did not yield the same results'); }