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

87 lines
3.0 KiB
PHP

<?php
namespace Omnipay\PayFast\Message;
use Omnipay\Tests\TestCase;
class CompletePurchaseRequestTest extends TestCase
{
public function setUp()
{
$this->request = new CompletePurchaseRequest($this->getHttpClient(), $this->getHttpRequest());
}
public function getItnPostData()
{
return array(
'm_payment_id' => '',
'pf_payment_id' => '61493',
'payment_status' => 'COMPLETE',
'item_name' => 'fjdksl',
'item_description' => '',
'amount_gross' => '12.00',
'amount_fee' => '-0.27',
'amount_net' => '11.73',
'custom_str1' => '',
'custom_str2' => '',
'custom_str3' => '',
'custom_str4' => '',
'custom_str5' => '',
'custom_int1' => '',
'custom_int2' => '',
'custom_int3' => '',
'custom_int4' => '',
'custom_int5' => '',
'name_first' => 'Test',
'name_last' => 'User 01',
'email_address' => 'sbtu01@payfast.co.za',
'merchant_id' => '10000103',
'signature' => '92ac916145511e9050383b008729e162',
);
}
public function testCompletePurchaseItnSuccess()
{
$this->getHttpRequest()->request->replace($this->getItnPostData());
$this->setMockHttpResponse('CompletePurchaseItnSuccess.txt');
$response = $this->request->send();
$this->assertInstanceOf('Omnipay\PayFast\Message\CompletePurchaseItnResponse', $response);
$this->assertTrue($response->isSuccessful());
$this->assertFalse($response->isRedirect());
$this->assertSame('61493', $response->getTransactionReference());
$this->assertSame('COMPLETE', $response->getMessage());
$this->assertNull($response->getCode());
}
public function testCompletePurchaseItnInvalid()
{
$this->getHttpRequest()->request->replace($this->getItnPostData());
$this->setMockHttpResponse('CompletePurchaseItnFailure.txt');
$response = $this->request->send();
$this->assertFalse($response->isSuccessful());
$this->assertFalse($response->isRedirect());
$this->assertNull($response->getTransactionReference());
$this->assertSame('INVALID', $response->getMessage());
$this->assertNull($response->getCode());
}
public function testCompletePurchasePdtSuccess()
{
$this->getHttpRequest()->query->replace(array('pt' => 'abc'));
$this->setMockHttpResponse('CompletePurchasePdtFailure.txt');
$response = $this->request->send();
$this->assertInstanceOf('Omnipay\PayFast\Message\CompletePurchasePdtResponse', $response);
$this->assertFalse($response->isSuccessful());
$this->assertFalse($response->isRedirect());
$this->assertNull($response->getTransactionReference());
$this->assertSame('FAIL', $response->getMessage());
$this->assertNull($response->getCode());
}
}