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');
}