SparkPost\Test\SparkPostTest::testUnsuccessfulAsyncRequestWithWait PHP Method

testUnsuccessfulAsyncRequestWithWait() public method

    public function testUnsuccessfulAsyncRequestWithWait()
    {
        $promiseMock = Mockery::mock('Http\\Promise\\Promise');
        $exceptionMock = Mockery::mock('Http\\Client\\Exception\\HttpException');
        $responseBody = ['results' => 'failed'];
        $this->clientMock->shouldReceive('sendAsyncRequest')->once()->with(Mockery::type('GuzzleHttp\\Psr7\\Request'))->andReturn($promiseMock);
        $promiseMock->shouldReceive('wait')->andThrow($exceptionMock);
        $exceptionMock->shouldReceive('getResponse->getStatusCode')->andReturn(500);
        $exceptionMock->shouldReceive('getResponse->getBody->__toString')->andReturn(json_encode($responseBody));
        $promise = $this->resource->asyncRequest('POST', 'transmissions', $this->postTransmissionPayload);
        try {
            $response = $promise->wait();
        } catch (\Exception $e) {
            $this->assertEquals($responseBody, $e->getBody());
            $this->assertEquals(500, $e->getCode());
        }
    }