1+ <?php
2+
3+ namespace OAuth \Orders ;
4+
5+ use Piggy \Api \Tests \OAuthTestCase ;
6+
7+ class OrderReturnsResourceTest extends OAuthTestCase
8+ {
9+ /**
10+ * @test
11+ */
12+ public function it_can_create_order_returns (): void
13+ {
14+ $ this ->addExpectedResponse ([
15+ 'uuid ' => '123 ' ,
16+ 'order ' => [
17+ 'uuid ' => '123 ' ,
18+ ],
19+ 'status ' => 'COMPLETED ' ,
20+ 'line_item_returns ' => [
21+ [
22+ 'uuid ' => '123 ' ,
23+ 'line_item ' => [
24+ 'uuid ' => '123 ' ,
25+ ],
26+ 'quantity ' => 1 ,
27+ ]
28+ ],
29+ 'sub_line_item_returns ' => []
30+ ]);
31+
32+ $ return = $ this ->mockedClient ->orderReturns ->create ([
33+ 'external_identifier ' => '123 ' ,
34+ 'status ' => 'COMPLETED ' ,
35+ 'order ' => [
36+ 'uuid ' => '123 ' ,
37+ ],
38+ 'line_items ' => [
39+ [
40+ 'uuid ' => '123 ' ,
41+ 'quantity ' => 5 ,
42+ 'reason ' => 'Broken item '
43+ ],
44+ ],
45+ ]);
46+
47+ $ this ->assertEquals ('123 ' , $ return ->getUuid ());
48+ }
49+
50+ /**
51+ * @test
52+ */
53+ public function it_can_process_order_returns (): void
54+ {
55+ $ this ->addExpectedResponse ([
56+ 'type ' => 'points_transaction ' ,
57+ 'data ' => [
58+ 'points ' => 40 ,
59+ 'new_balance ' => 40 ,
60+ ],
61+ ]);
62+
63+ $ response = $ this ->mockedClient ->orderReturns ->process ('123 ' );
64+
65+ $ this ->assertEquals (40 , $ response ->data ->points );
66+ $ this ->assertEquals (40 , $ response ->data ->new_balance );
67+ }
68+
69+ /**
70+ * @test
71+ */
72+ public function it_can_create_and_process_order_returns (): void
73+ {
74+ $ this ->addExpectedResponse ([
75+ 'return ' => [
76+ 'uuid ' => '123 ' ,
77+ 'order ' => [
78+ 'uuid ' => '123 ' ,
79+ ],
80+ 'status ' => 'COMPLETED ' ,
81+ 'line_item_returns ' => [
82+ [
83+ 'uuid ' => '123 ' ,
84+ 'line_item ' => [
85+ 'uuid ' => '123 ' ,
86+ ],
87+ 'quantity ' => 1 ,
88+ ]
89+ ],
90+ 'sub_line_item_returns ' => []
91+ ],
92+ 'result ' => [
93+ 'type ' => 'points_transaction ' ,
94+ 'data ' => [
95+ 'points ' => 40 ,
96+ 'new_balance ' => 40 ,
97+ ],
98+ ]
99+ ]);
100+
101+ $ response = $ this ->mockedClient ->orderReturns ->createAndProcess ([
102+ 'external_identifier ' => '123 ' ,
103+ 'status ' => 'COMPLETED ' ,
104+ 'order ' => [
105+ 'uuid ' => '123 ' ,
106+ ],
107+ 'line_items ' => [
108+ [
109+ 'uuid ' => '123 ' ,
110+ 'quantity ' => 5 ,
111+ 'reason ' => 'Broken item '
112+ ],
113+ ],
114+ ]);
115+
116+ $ this ->assertEquals ('123 ' , $ response ['return ' ]->getUuid ());
117+ $ this ->assertEquals (40 , $ response ['result ' ]->data ->points );
118+ $ this ->assertEquals (40 , $ response ['result ' ]->data ->new_balance );
119+ }
120+ }
0 commit comments