riainvoice/vendor_old/omnipay/cardsave/tests/Message/ResponseTest.php
2021-10-01 23:56:38 +05:30

61 lines
2.1 KiB
PHP

<?php
namespace Omnipay\CardSave\Message;
use Mockery as m;
use Omnipay\Tests\TestCase;
class ResponseTest extends TestCase
{
/**
* @expectedException \Omnipay\Common\Exception\InvalidResponseException
*/
public function testPurchaseWithoutStatusCode()
{
$httpResponse = $this->getMockHttpResponse('PurchaseFailureWithoutStatusCode.txt');
new Response($this->getMockRequest(), $httpResponse->getBody());
}
public function testPurchaseSuccess()
{
$httpResponse = $this->getMockHttpResponse('PurchaseSuccess.txt');
$response = new Response($this->getMockRequest(), $httpResponse->getBody());
$this->assertTrue($response->isSuccessful());
$this->assertEquals('130215141054377801316798', $response->getTransactionReference());
$this->assertSame('AuthCode: 672167', $response->getMessage());
$this->assertEmpty($response->getRedirectUrl());
}
public function testPurchaseFailure()
{
$httpResponse = $this->getMockHttpResponse('PurchaseFailure.txt');
$response = new Response($this->getMockRequest(), $httpResponse->getBody());
$this->assertFalse($response->isSuccessful());
$this->assertSame('', $response->getTransactionReference());
$this->assertSame('Input variable errors', $response->getMessage());
}
public function testRedirect()
{
$httpResponse = $this->getMockHttpResponse('PurchaseRedirect.txt');
$request = m::mock('\Omnipay\Common\Message\AbstractRequest');
$request->shouldReceive('getReturnUrl')->once()->andReturn('http://store.example.com/');
$response = new Response($request, $httpResponse->getBody());
$this->assertTrue($response->isRedirect());
$this->assertSame('POST', $response->getRedirectMethod());
$this->assertSame('http://some.redirect.com/', $response->getRedirectUrl());
$expectedData = array(
'PaReq' => 'Some PaREQ',
'TermUrl' => 'http://store.example.com/',
'MD' => '130215141054377801316798',
);
$this->assertEquals($expectedData, $response->getRedirectData());
}
}