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

66 lines
1.8 KiB
PHP

<?php
namespace Omnipay\SagePay\Message;
use Omnipay\Tests\TestCase;
class DirectTokenRequestTest extends TestCase
{
/**
* @var \Omnipay\Common\Message\AbstractRequest $request
*/
protected $request;
/**
* @var array
*/
protected $card;
public function setUp()
{
$this->request = new DirectTokenRegistrationRequest($this->getHttpClient(), $this->getHttpRequest());
$this->request->initialize(
array(
'amount' => '12.00',
'currency' => 'GBP',
'transactionId' => '123',
'card' => $this->getValidCard(),
)
);
}
public function testGetData()
{
$data = $this->request->getData();
$this->assertSame('3.00', $data['VPSProtocol']);
$this->assertSame('GBP', $data['Currency']);
$this->assertSame('123', $data['VendorTxCode']);
$this->assertSame('TOKEN', $data['TxType']);
$this->assertSame('visa', $data['CardType']);
$this->assertArrayNotHasKey('AccountType', $data);
$card = $this->request->getCard();
$this->assertSame($card->getNumber(), $data['CardNumber']);
$this->assertSame($card->getCvv(), $data['CV2']);
$this->assertSame($card->getName(), $data['CardHolder']);
$this->assertSame($card->getExpiryDate('my'), $data['ExpiryDate']);
}
public function testGetDataMastercard()
{
$this->request->getCard()->setNumber('5404000000000001');
$data = $this->request->getData();
$this->assertSame('mc', $data['CardType']);
}
public function testGetDataDinersClub()
{
$this->request->getCard()->setNumber('30569309025904');
$data = $this->request->getData();
$this->assertSame('dc', $data['CardType']);
}
}