6 use Omnipay\Tests\TestCase;
8 class RestAuthorizeRequestTest
extends TestCase
15 public function setUp()
20 $this->request->initialize(
24 'returnUrl' =>
'https://www.example.com/return',
25 'cancelUrl' =>
'https://www.example.com/cancel',
32 $this->request->setTransactionId(
'abc123');
33 $this->request->setDescription(
'Sheep');
35 $data = $this->request->getData();
37 $this->assertSame(
'authorize', $data[
'intent']);
38 $this->assertSame(
'paypal', $data[
'payer'][
'payment_method']);
39 $this->assertSame(
'10.00', $data[
'transactions'][0][
'amount'][
'total']);
40 $this->assertSame(
'USD', $data[
'transactions'][0][
'amount'][
'currency']);
41 $this->assertSame(
'abc123 : Sheep', $data[
'transactions'][0][
'description']);
44 $this->assertArrayNotHasKey(
'funding_instruments', $data[
'payer']);
46 $this->assertSame(
'https://www.example.com/return', $data[
'redirect_urls'][
'return_url']);
47 $this->assertSame(
'https://www.example.com/cancel', $data[
'redirect_urls'][
'cancel_url']);
53 $card->setStartMonth(1);
54 $card->setStartYear(2000);
56 $this->request->setCard($card);
57 $this->request->setTransactionId(
'abc123');
58 $this->request->setDescription(
'Sheep');
59 $this->request->setClientIp(
'127.0.0.1');
61 $data = $this->request->getData();
63 $this->assertSame(
'authorize', $data[
'intent']);
64 $this->assertSame(
'credit_card', $data[
'payer'][
'payment_method']);
65 $this->assertSame(
'10.00', $data[
'transactions'][0][
'amount'][
'total']);
66 $this->assertSame(
'USD', $data[
'transactions'][0][
'amount'][
'currency']);
67 $this->assertSame(
'abc123 : Sheep', $data[
'transactions'][0][
'description']);
69 $this->assertSame($card->getNumber(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'number']);
70 $this->assertSame($card->getBrand(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'type']);
71 $this->assertSame($card->getExpiryMonth(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'expire_month']);
72 $this->assertSame($card->getExpiryYear(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'expire_year']);
73 $this->assertSame($card->getCvv(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'cvv2']);
75 $this->assertSame($card->getFirstName(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'first_name']);
76 $this->assertSame($card->getLastName(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'last_name']);
77 $this->assertSame($card->getAddress1(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'billing_address'][
'line1']);
78 $this->assertSame($card->getAddress2(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'billing_address'][
'line2']);
79 $this->assertSame($card->getCity(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'billing_address'][
'city']);
80 $this->assertSame($card->getState(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'billing_address'][
'state']);
81 $this->assertSame($card->getPostcode(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'billing_address'][
'postal_code']);
82 $this->assertSame($card->getCountry(), $data[
'payer'][
'funding_instruments'][0][
'credit_card'][
'billing_address'][
'country_code']);
87 $this->request->setAmount(
'50.00');
88 $this->request->setCurrency(
'USD');
89 $this->request->setItems(array(
90 array(
'name' =>
'Floppy Disk',
'description' =>
'MS-DOS',
'quantity' => 2,
'price' => 10),
91 array(
'name' =>
'CD-ROM',
'description' =>
'Windows 95',
'quantity' => 1,
'price' => 40),
94 $data = $this->request->getData();
95 $transactionData = $data[
'transactions'][0];
97 $this->assertSame(
'Floppy Disk', $transactionData[
'item_list'][
'items'][0][
'name']);
98 $this->assertSame(
'MS-DOS', $transactionData[
'item_list'][
'items'][0][
'description']);
99 $this->assertSame(2, $transactionData[
'item_list'][
'items'][0][
'quantity']);
100 $this->assertSame(
'10.00', $transactionData[
'item_list'][
'items'][0][
'price']);
102 $this->assertSame(
'CD-ROM', $transactionData[
'item_list'][
'items'][1][
'name']);
103 $this->assertSame(
'Windows 95', $transactionData[
'item_list'][
'items'][1][
'description']);
104 $this->assertSame(1, $transactionData[
'item_list'][
'items'][1][
'quantity']);
105 $this->assertSame(
'40.00', $transactionData[
'item_list'][
'items'][1][
'price']);
107 $this->assertSame(
'50.00', $transactionData[
'amount'][
'total']);
108 $this->assertSame(
'USD', $transactionData[
'amount'][
'currency']);
113 $this->request->setTransactionId(
'');
114 $this->request->setDescription(
'');
115 $this->assertEmpty($this->request->getDescription());
117 $this->request->setTransactionId(
'');
118 $this->request->setDescription(
'Sheep');
119 $this->assertEquals(
'Sheep', $this->request->getDescription());
121 $this->request->setTransactionId(
'abc123');
122 $this->request->setDescription(
'');
123 $this->assertEquals(
'abc123', $this->request->getDescription());
125 $this->request->setTransactionId(
'abc123');
126 $this->request->setDescription(
'Sheep');
127 $this->assertEquals(
'abc123 : Sheep', $this->request->getDescription());