public function testGetWithException() { $error = ['message' => 'Test message', 'code' => 'test_code', 'fields' => ['field1' => 'error1']]; $http = $this->createHttpMock('https://api.uber.com/v1/foo', 555, json_encode($error)); $uber = new Uber('my_token', 'v1', Uber::PRODUCTION_API, $http); try { $uber->get('/foo'); $this->fail('No exception'); } catch (ApiException $e) { $this->assertEquals('Test message', $e->getErrorMessage()); $this->assertEquals('test_code', $e->getErrorCode()); $this->assertEquals((object) ['field1' => 'error1'], $e->getFields()); $this->assertEquals(555, $e->getHttpCode()); } }