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

93 lines
3.6 KiB
PHP

<?php
namespace Omnipay\SagePay\Message;
use Omnipay\Tests\TestCase;
use Mockery as m;
class ServerCompleteAuthorizeResponseTest extends TestCase
{
public function testServerCompleteAuthorizeResponseSuccess()
{
$response = new ServerCompleteAuthorizeResponse(
$this->getMockRequest(),
array(
'Status' => 'OK',
'TxAuthNo' => 'b',
'AVSCV2' => 'c',
'AddressResult' => 'd',
'PostCodeResult' => 'e',
'CV2Result' => 'f',
'GiftAid' => 'g',
'3DSecureStatus' => 'h',
'CAVV' => 'i',
'AddressStatus' => 'j',
'PayerStatus' => 'k',
'CardType' => 'l',
'Last4Digits' => 'm',
'DeclineCode' => '00',
'ExpiryDate' => '0722',
'BankAuthCode' => '999777',
)
);
$this->getMockRequest()->shouldReceive('getTransactionId')->once()->andReturn('123');
$this->getMockRequest()->shouldReceive('getTransactionReference')->once()->andReturn('{"SecurityKey":"JEUPDN1N7E","TxAuthNo":"4255","VPSTxId":"{F955C22E-F67B-4DA3-8EA3-6DAC68FA59D2}","VendorTxCode":"438791"}');
$this->assertTrue($response->isSuccessful());
$this->assertFalse($response->isRedirect());
$this->assertSame('{"SecurityKey":"JEUPDN1N7E","TxAuthNo":"b","VPSTxId":"{F955C22E-F67B-4DA3-8EA3-6DAC68FA59D2}","VendorTxCode":"123"}', $response->getTransactionReference());
$this->assertNull($response->getMessage());
}
public function testServerCompleteAuthorizeResponseFailure()
{
$response = new ServerCompleteAuthorizeresponse($this->getMockRequest(), array('Status' => 'INVALID'));
$this->assertFalse($response->isSuccessful());
$this->assertFalse($response->isRedirect());
$this->assertNull($response->getTransactionReference());
$this->assertNull($response->getMessage());
}
public function testConfirm()
{
$response = m::mock('\Omnipay\SagePay\Message\ServerCompleteAuthorizeResponse')->makePartial();
$response->shouldReceive('sendResponse')->once()->with('OK', 'https://www.example.com/', 'detail');
$response->confirm('https://www.example.com/', 'detail');
}
public function testError()
{
$response = m::mock('\Omnipay\SagePay\Message\ServerCompleteAuthorizeResponse')->makePartial();
$response->shouldReceive('sendResponse')->once()->with('ERROR', 'https://www.example.com/', 'detail');
$response->error('https://www.example.com/', 'detail');
}
public function testInvalid()
{
$response = m::mock('\Omnipay\SagePay\Message\ServerCompleteAuthorizeResponse')->makePartial();
$response->shouldReceive('sendResponse')->once()->with('INVALID', 'https://www.example.com/', 'detail');
$response->invalid('https://www.example.com/', 'detail');
}
public function testSendResponse()
{
$response = m::mock('\Omnipay\SagePay\Message\ServerCompleteAuthorizeResponse')->makePartial();
$response->shouldReceive('exitWith')->once()->with("Status=FOO\r\nRedirectUrl=https://www.example.com/");
$response->sendResponse('FOO', 'https://www.example.com/');
}
public function testSendResponseDetail()
{
$response = m::mock('\Omnipay\SagePay\Message\ServerCompleteAuthorizeResponse')->makePartial();
$response->shouldReceive('exitWith')->once()->with("Status=FOO\r\nRedirectUrl=https://www.example.com/\r\nStatusDetail=Bar");
$response->sendResponse('FOO', 'https://www.example.com/', 'Bar');
}
}