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

105 lines
2.5 KiB
PHP

<?php
namespace Omnipay\MultiSafepay\Message;
use Omnipay\Tests\TestCase;
class XmlFetchIssuersRequestTest extends TestCase
{
/**
* @var FetchIssuersRequest
*/
private $request;
protected function setUp()
{
$this->request = new FetchIssuersRequest(
$this->getHttpClient(),
$this->getHttpRequest()
);
$this->request->initialize(array(
'accountId' => '111111',
'siteId' => '222222',
'siteCode' => '333333',
));
}
/**
* @dataProvider issuersProvider
*/
public function testSendSuccess($expected)
{
$this->setMockHttpResponse('XmlFetchIssuersSuccess.txt');
$response = $this->request->send();
$this->assertTrue($response->isSuccessful());
$this->assertEquals($expected, $response->getIssuers());
}
public function testSendFailure()
{
$this->setMockHttpResponse('XmlFetchIssuersFailure.txt');
$response = $this->request->send();
$this->assertFalse($response->isSuccessful());
$this->assertEquals('Invalid merchant security code', $response->getMessage());
$this->assertEquals(1005, $response->getCode());
}
/**
* @dataProvider dataProvider
*/
public function testGetData($xml)
{
$data = $this->request->getData();
$this->assertInstanceOf('SimpleXMLElement', $data);
// Just so the provider remains readable...
$dom = dom_import_simplexml($data)->ownerDocument;
$dom->formatOutput = true;
$this->assertEquals($xml, $dom->saveXML());
}
public function issuersProvider()
{
return array(
array(
array(
'0031' => 'ABN AMRO',
'0751' => 'SNS Bank',
'0721' => 'ING',
'0021' => 'Rabobank',
'0091' => 'Friesland Bank',
'0761' => 'ASN Bank',
'0771' => 'SNS Regio Bank',
'0511' => 'Triodos Bank',
'0161' => 'Van Lanschot Bankiers',
'0801' => 'Knab',
),
),
);
}
public function dataProvider()
{
$xml = <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<idealissuers ua="Omnipay">
<merchant>
<account>111111</account>
<site_id>222222</site_id>
<site_secure_code>333333</site_secure_code>
</merchant>
</idealissuers>
EOF;
return array(
array($xml),
);
}
}