riainvoice/vendor_old/omnipay/multisafepay/tests/XmlGatewayTest.php
2021-10-01 23:56:38 +05:30

155 lines
6.2 KiB
PHP

<?php
/**
* MultiSafepay Xml Gateway Test.
*/
namespace Omnipay\MultiSafepay;
use Omnipay\Common\CreditCard;
use Omnipay\Tests\GatewayTestCase;
/**
* MultiSafepay Xml Gateway Test.
*/
class XmlGatewayTest extends GatewayTestCase
{
/**
* @var Gateway
*/
protected $gateway;
/**
* @var array
*/
protected $options;
/**
* @{inheritdoc}
*/
protected function setUp()
{
parent::setUp();
$this->gateway = new Gateway($this->getHttpClient(), $this->getHttpRequest());
$this->gateway->setAccountId('111111');
$this->gateway->setSiteId('222222');
$this->gateway->setSiteCode('333333');
$this->options = array(
'notifyUrl' => 'http://localhost/notify',
'cancelUrl' => 'http://localhost/cancel',
'returnUrl' => 'http://localhost/return',
'gateway' => 'IDEAL',
'issuer' => 'issuer',
'transactionId' => '123456',
'currency' => 'EUR',
'amount' => '100.00',
'description' => 'desc',
'extraData1' => 'extra 1',
'extraData2' => 'extra 2',
'extraData3' => 'extra 3',
'language' => 'a language',
'clientIp' => '127.0.0.1',
'googleAnalyticsCode' => 'analytics code',
'card' => array(
'email' => 'something@example.com',
'firstName' => 'first name',
'lastName' => 'last name',
'address1' => 'address 1',
'address2' => 'address 2',
'postcode' => '1000',
'city' => 'a city',
'country' => 'a country',
'phone' => 'phone number',
)
);
}
public function testFetchPaymentMethods()
{
/** @var \Omnipay\MultiSafepay\Message\FetchPaymentMethodsRequest $request */
$request = $this->gateway->fetchPaymentMethods(array('country' => 'NL'));
$this->assertInstanceOf('Omnipay\MultiSafepay\Message\FetchPaymentMethodsRequest', $request);
$this->assertEquals('NL', $request->getCountry());
}
public function testFetchIssuers()
{
/** @var \Omnipay\MultiSafepay\Message\FetchIssuersRequest $request */
$request = $this->gateway->fetchIssuers();
$this->assertInstanceOf('Omnipay\MultiSafepay\Message\FetchIssuersRequest', $request);
}
public function testPurchase()
{
/** @var \Omnipay\MultiSafepay\Message\PurchaseRequest $request */
$request = $this->gateway->purchase($this->options);
/** @var CreditCard $card */
$card = $request->getCard();
$this->assertInstanceOf('Omnipay\MultiSafepay\Message\PurchaseRequest', $request);
$this->assertSame('http://localhost/notify', $request->getNotifyUrl());
$this->assertSame('http://localhost/cancel', $request->getCancelUrl());
$this->assertSame('http://localhost/return', $request->getReturnUrl());
$this->assertSame('IDEAL', $request->getGateway());
$this->assertSame('issuer', $request->getIssuer());
$this->assertSame('123456', $request->getTransactionId());
$this->assertSame('EUR', $request->getCurrency());
$this->assertSame('100.00', $request->getAmount());
$this->assertSame('desc', $request->getDescription());
$this->assertSame('extra 1', $request->getExtraData1());
$this->assertSame('extra 2', $request->getExtraData2());
$this->assertSame('extra 3', $request->getExtraData3());
$this->assertSame('a language', $request->getLanguage());
$this->assertSame('analytics code', $request->getGoogleAnalyticsCode());
$this->assertSame('127.0.0.1', $request->getClientIp());
$this->assertSame('something@example.com', $card->getEmail());
$this->assertSame('first name', $card->getFirstName());
$this->assertSame('last name', $card->getLastName());
$this->assertSame('address 1', $card->getAddress1());
$this->assertSame('address 2', $card->getAddress2());
$this->assertSame('1000', $card->getPostcode());
$this->assertSame('a city', $card->getCity());
$this->assertSame('a country', $card->getCountry());
$this->assertSame('phone number', $card->getPhone());
}
public function testCompletePurchase()
{
/** @var \Omnipay\MultiSafepay\Message\CompletePurchaseRequest $request */
$request = $this->gateway->completePurchase($this->options);
/** @var CreditCard $card */
$card = $request->getCard();
$this->assertInstanceOf('Omnipay\MultiSafepay\Message\CompletePurchaseRequest', $request);
$this->assertSame('http://localhost/notify', $request->getNotifyUrl());
$this->assertSame('http://localhost/cancel', $request->getCancelUrl());
$this->assertSame('http://localhost/return', $request->getReturnUrl());
$this->assertSame('IDEAL', $request->getGateway());
$this->assertSame('issuer', $request->getIssuer());
$this->assertSame('123456', $request->getTransactionId());
$this->assertSame('EUR', $request->getCurrency());
$this->assertSame('100.00', $request->getAmount());
$this->assertSame('desc', $request->getDescription());
$this->assertSame('extra 1', $request->getExtraData1());
$this->assertSame('extra 2', $request->getExtraData2());
$this->assertSame('extra 3', $request->getExtraData3());
$this->assertSame('a language', $request->getLanguage());
$this->assertSame('analytics code', $request->getGoogleAnalyticsCode());
$this->assertSame('127.0.0.1', $request->getClientIp());
$this->assertSame('something@example.com', $card->getEmail());
$this->assertSame('first name', $card->getFirstName());
$this->assertSame('last name', $card->getLastName());
$this->assertSame('address 1', $card->getAddress1());
$this->assertSame('address 2', $card->getAddress2());
$this->assertSame('1000', $card->getPostcode());
$this->assertSame('a city', $card->getCity());
$this->assertSame('a country', $card->getCountry());
$this->assertSame('phone number', $card->getPhone());
}
}