public function testPromise()
{
$promiseMock = Mockery::mock('Http\\Promise\\Promise');
$this->clientMock->shouldReceive('sendAsyncRequest')->once()->with(Mockery::type('GuzzleHttp\\Psr7\\Request'))->andReturn($promiseMock);
$promise = $this->resource->asyncRequest('POST', 'transmissions', $this->postTransmissionPayload);
$promiseMock->shouldReceive('getState')->twice()->andReturn('pending');
$this->assertEquals($promiseMock->getState(), $promise->getState());
$promiseMock->shouldReceive('getState')->once()->andReturn('rejected');
$this->assertEquals('rejected', $promise->getState());
}