Open Journal Systems  3.3.0
vendor/omnipay/paypal/tests/Message/ExpressCompletePurchaseRequestTest.php
1 <?php
2 
3 namespace Omnipay\PayPal\Message;
4 
6 use Omnipay\Tests\TestCase;
7 
8 class ExpressCompletePurchaseRequestTest extends TestCase
9 {
13  private $request;
14 
15  public function setUp()
16  {
17  $client = $this->getHttpClient();
18 
19  $request = $this->getHttpRequest();
20  $request->query->set('PayerID', 'Payer-1234');
21  $request->query->set('token', 'TOKEN1234');
22 
23  $this->request = new ExpressCompletePurchaseRequest($client, $request);
24  }
25 
26  public function testGetData()
27  {
28  $this->request->setAmount('1.23');
29  $this->request->setCurrency('USD');
30  $this->request->setTransactionId('ABC-123');
31  $this->request->setUsername('testuser');
32  $this->request->setPassword('testpass');
33  $this->request->setSignature('SIG');
34  $this->request->setSubject('SUB');
35  $this->request->setDescription('DESC');
36  $this->request->setNotifyUrl('https://www.example.com/notify');
37  $this->request->setMaxAmount('0.00');
38  $this->request->setTaxAmount('0.00');
39  $this->request->setShippingAmount('0.00');
40  $this->request->setHandlingAmount('0.00');
41  $this->request->setShippingDiscount('0.00');
42  $this->request->setInsuranceAmount('0.00');
43 
44  $expected = array();
45  $expected['METHOD'] = 'DoExpressCheckoutPayment';
46  $expected['PAYMENTREQUEST_0_PAYMENTACTION'] = 'Sale';
47  $expected['PAYMENTREQUEST_0_AMT'] = '1.23';
48  $expected['PAYMENTREQUEST_0_CURRENCYCODE'] = 'USD';
49  $expected['PAYMENTREQUEST_0_INVNUM'] = 'ABC-123';
50  $expected['PAYMENTREQUEST_0_DESC'] = 'DESC';
51  $expected['PAYMENTREQUEST_0_NOTIFYURL'] = 'https://www.example.com/notify';
52  $expected['USER'] = 'testuser';
53  $expected['PWD'] = 'testpass';
54  $expected['SIGNATURE'] = 'SIG';
55  $expected['SUBJECT'] = 'SUB';
56  $expected['VERSION'] = ExpressCompletePurchaseRequest::API_VERSION;
57  $expected['TOKEN'] = 'TOKEN1234';
58  $expected['PAYERID'] = 'Payer-1234';
59  $expected['MAXAMT'] = '0.00';
60  $expected['PAYMENTREQUEST_0_TAXAMT'] = '0.00';
61  $expected['PAYMENTREQUEST_0_SHIPPINGAMT'] = '0.00';
62  $expected['PAYMENTREQUEST_0_HANDLINGAMT'] = '0.00';
63  $expected['PAYMENTREQUEST_0_SHIPDISCAMT'] = '0.00';
64  $expected['PAYMENTREQUEST_0_INSURANCEAMT'] = '0.00';
65 
66  $this->assertEquals($expected, $this->request->getData());
67  }
68 
69  public function testGetDataWithItems()
70  {
71  $this->request->setAmount('50.00');
72  $this->request->setCurrency('USD');
73  $this->request->setTransactionId('ABC-123');
74  $this->request->setUsername('testuser');
75  $this->request->setPassword('testpass');
76  $this->request->setSignature('SIG');
77  $this->request->setSubject('SUB');
78  $this->request->setDescription('DESC');
79 
80  $this->request->setItems(array(
81  array('name' => 'Floppy Disk', 'description' => 'MS-DOS', 'quantity' => 2, 'price' => 10),
82  array('name' => 'CD-ROM', 'description' => 'Windows 95', 'quantity' => 1, 'price' => 40),
83  ));
84 
85  $data = $this->request->getData();
86  $this->assertSame('Floppy Disk', $data['L_PAYMENTREQUEST_0_NAME0']);
87  $this->assertSame('MS-DOS', $data['L_PAYMENTREQUEST_0_DESC0']);
88  $this->assertSame(2, $data['L_PAYMENTREQUEST_0_QTY0']);
89  $this->assertSame('10.00', $data['L_PAYMENTREQUEST_0_AMT0']);
90 
91  $this->assertSame('CD-ROM', $data['L_PAYMENTREQUEST_0_NAME1']);
92  $this->assertSame('Windows 95', $data['L_PAYMENTREQUEST_0_DESC1']);
93  $this->assertSame(1, $data['L_PAYMENTREQUEST_0_QTY1']);
94  $this->assertSame('40.00', $data['L_PAYMENTREQUEST_0_AMT1']);
95  }
96 }
Omnipay\PayPal\Message\ExpressCompletePurchaseRequestTest\testGetDataWithItems
testGetDataWithItems()
Definition: vendor/omnipay/paypal/tests/Message/ExpressCompletePurchaseRequestTest.php:72
Omnipay\PayPal\Message\AbstractRequest\API_VERSION
const API_VERSION
Definition: lib/vendor/omnipay/paypal/src/Message/AbstractRequest.php:37
Omnipay\PayPal\Message\ExpressCompletePurchaseRequestTest\setUp
setUp()
Definition: vendor/omnipay/paypal/tests/Message/ExpressCompletePurchaseRequestTest.php:18
Omnipay\PayPal\Message\ExpressCompletePurchaseRequestTest\testGetData
testGetData()
Definition: vendor/omnipay/paypal/tests/Message/ExpressCompletePurchaseRequestTest.php:29
Omnipay\PayPal\Message\ExpressCompletePurchaseRequest
Definition: lib/vendor/omnipay/paypal/src/Message/ExpressCompletePurchaseRequest.php:8
Omnipay\PayPal\Message
Definition: lib/vendor/omnipay/paypal/src/Message/AbstractRequest.php:6