SparkPost\Test\SparkPostTest::testSuccessfulAsyncRequestWithWait PHP Method

testSuccessfulAsyncRequestWithWait() public method

    public function testSuccessfulAsyncRequestWithWait()
    {
        $promiseMock = Mockery::mock('Http\\Promise\\Promise');
        $responseMock = Mockery::mock('Psr\\Http\\Message\\ResponseInterface');
        $responseBodyMock = Mockery::mock();
        $responseBody = ['results' => 'yay'];
        $this->clientMock->shouldReceive('sendAsyncRequest')->once()->with(Mockery::type('GuzzleHttp\\Psr7\\Request'))->andReturn($promiseMock);
        $promiseMock->shouldReceive('wait')->andReturn($responseMock);
        $responseMock->shouldReceive('getStatusCode')->andReturn(200);
        $responseMock->shouldReceive('getBody')->andReturn($responseBodyMock);
        $responseBodyMock->shouldReceive('__toString')->andReturn(json_encode($responseBody));
        $promise = $this->resource->asyncRequest('POST', 'transmissions', $this->postTransmissionPayload);
        $response = $promise->wait();
        $this->assertEquals($responseBody, $response->getBody());
        $this->assertEquals(200, $response->getStatusCode());
    }