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

112 lines
4.1 KiB
PHP

<?php
namespace Omnipay\SecurePay\Message;
use Omnipay\Tests\TestCase;
class SecureXMLAuthorizeRequestTest extends TestCase
{
public function setUp()
{
$this->request = new SecureXMLAuthorizeRequest($this->getHttpClient(), $this->getHttpRequest());
$this->request->initialize(
array(
'merchantId' => 'ABC0030',
'transactionPassword' => 'abc123',
'amount' => '12.00',
'transactionId' => '1234',
'card' => array(
'number' => '4444333322221111',
'expiryMonth' => '10',
'expiryYear' => '2020',
'cvv' => '123',
),
)
);
}
public function testSendSuccess()
{
$this->setMockHttpResponse('SecureXMLAuthorizeRequestSuccess.txt');
$response = $this->request->send();
$data = $response->getData();
$this->assertInstanceOf('Omnipay\\SecurePay\\Message\\SecureXMLResponse', $response);
$this->assertTrue($response->isSuccessful());
$this->assertFalse($response->isRedirect());
$this->assertSame('009729', $response->getTransactionReference());
$this->assertSame('00', $response->getCode());
$this->assertSame('Approved', $response->getMessage());
$this->assertSame('10', (string) $data->Payment->TxnList->Txn->txnType);
}
public function testSendFailure()
{
$this->setMockHttpResponse('SecureXMLAuthorizeRequestFailure.txt');
$response = $this->request->send();
$this->assertInstanceOf('Omnipay\\SecurePay\\Message\\SecureXMLResponse', $response);
$this->assertFalse($response->isSuccessful());
$this->assertFalse($response->isRedirect());
$this->assertSame('510', $response->getCode());
$this->assertSame('Unable To Connect To Server', $response->getMessage());
}
public function testInsufficientFundsFailure()
{
$this->setMockHttpResponse('SecureXMLAuthorizeRequestInsufficientFundsFailure.txt');
$response = $this->request->send();
$this->assertInstanceOf('Omnipay\\SecurePay\\Message\\SecureXMLResponse', $response);
$this->assertFalse($response->isSuccessful());
$this->assertFalse($response->isRedirect());
$this->assertNull($response->getTransactionReference());
$this->assertSame('51', $response->getCode());
$this->assertSame('Insufficient Funds', $response->getMessage());
}
public function testInvalidMerchantFailure()
{
$this->setMockHttpResponse('SecureXMLAuthorizeRequestInvalidMerchantFailure.txt');
$response = $this->request->send();
$this->assertInstanceOf('Omnipay\\SecurePay\\Message\\SecureXMLResponse', $response);
$this->assertFalse($response->isSuccessful());
$this->assertFalse($response->isRedirect());
$this->assertNull($response->getTransactionReference());
$this->assertSame('504', $response->getCode());
$this->assertSame('Invalid merchant ABC0030', $response->getMessage());
}
public function testInvalidMerchantIDFailure()
{
$this->setMockHttpResponse('SecureXMLAuthorizeRequestInvalidMerchantIDFailure.txt');
$response = $this->request->send();
$this->assertInstanceOf('Omnipay\\SecurePay\\Message\\SecureXMLResponse', $response);
$this->assertFalse($response->isSuccessful());
$this->assertFalse($response->isRedirect());
$this->assertNull($response->getTransactionReference());
$this->assertSame('504', $response->getCode());
$this->assertSame('Invalid merchant ID', $response->getMessage());
}
public function testSetMessageId()
{
$this->request->setMessageId('message_identifier_here');
$this->assertSame('message_identifier_here', $this->request->getMessageId());
}
public function testAutogeneratedMessageId()
{
$this->assertNotNull($this->request->getMessageId());
$this->assertSame(30, strlen($this->request->getMessageId()));
}
}