@@ -133,17 +133,18 @@ def setup
133
133
end
134
134
end
135
135
136
- context "#fulfillment_request " do
137
- should "make a fulfillment request for a fulfillment order" do
136
+ context "#request_fulfillment " do
137
+ should "make a fulfillment request for a fulfillment order including unsubmitted " do
138
138
original_fulfillment_order = ActiveSupport ::JSON . decode ( load_fixture ( 'fulfillment_order' ) )
139
+ original_fulfillment_order [ 'status' ] = 'closed'
139
140
submitted_fulfillment_order = original_fulfillment_order . clone
140
141
submitted_fulfillment_order [ 'id' ] = 2
141
142
submitted_fulfillment_order [ 'status' ] = 'open'
142
143
submitted_fulfillment_order [ 'request_status' ] = 'submitted'
143
144
unsubmitted_fulfillment_order = original_fulfillment_order . clone
144
145
unsubmitted_fulfillment_order [ 'id' ] = 3
146
+ unsubmitted_fulfillment_order [ 'status' ] = 'open'
145
147
unsubmitted_fulfillment_order [ 'request_status' ] = 'unsubmitted'
146
- original_fulfillment_order [ 'status' ] = 'in_progress'
147
148
body = {
148
149
original_fulfillment_order : original_fulfillment_order ,
149
150
submitted_fulfillment_order : submitted_fulfillment_order ,
@@ -166,24 +167,71 @@ def setup
166
167
fulfillment_order_line_items : [ { id : 1 , quantity : 1 } ] ,
167
168
message : "Fulfill this FO, please."
168
169
}
169
- original_submitted_unsubmitted_fos = fulfillment_order . fulfillment_request ( params )
170
+ response_fulfillment_orders = fulfillment_order . request_fulfillment ( params )
170
171
171
- assert_equal 'in_progress' , fulfillment_order . status
172
+ assert_equal 'closed' , fulfillment_order . status
173
+ assert_equal 3 , response_fulfillment_orders . size
172
174
173
- original_fo = original_submitted_unsubmitted_fos [ 'original_fulfillment_order' ]
175
+ original_fo = response_fulfillment_orders [ 'original_fulfillment_order' ]
174
176
assert_equal 519788021 , original_fo . id
175
- assert_equal 'in_progress ' , original_fo . status
177
+ assert_equal 'closed ' , original_fo . status
176
178
177
- submitted_fo = original_submitted_unsubmitted_fos [ 'submitted_fulfillment_order' ]
179
+ submitted_fo = response_fulfillment_orders [ 'submitted_fulfillment_order' ]
178
180
assert_equal 2 , submitted_fo . id
179
181
assert_equal 'open' , submitted_fo . status
180
182
assert_equal 'submitted' , submitted_fo . request_status
181
183
182
- unsubmitted_fo = original_submitted_unsubmitted_fos [ 'unsubmitted_fulfillment_order' ]
184
+ unsubmitted_fo = response_fulfillment_orders [ 'unsubmitted_fulfillment_order' ]
183
185
assert_equal 3 , unsubmitted_fo . id
184
186
assert_equal 'open' , unsubmitted_fo . status
185
187
assert_equal 'unsubmitted' , unsubmitted_fo . request_status
186
188
end
189
+
190
+ should "make a fulfillment request for a fulfillment order excluding unsubmitted" do
191
+ original_fulfillment_order = ActiveSupport ::JSON . decode ( load_fixture ( 'fulfillment_order' ) )
192
+ original_fulfillment_order [ 'status' ] = 'closed'
193
+ submitted_fulfillment_order = original_fulfillment_order . clone
194
+ submitted_fulfillment_order [ 'id' ] = 2
195
+ submitted_fulfillment_order [ 'status' ] = 'open'
196
+ submitted_fulfillment_order [ 'request_status' ] = 'submitted'
197
+ body = {
198
+ original_fulfillment_order : original_fulfillment_order ,
199
+ submitted_fulfillment_order : submitted_fulfillment_order ,
200
+ unsubmitted_fulfillment_order : nil ,
201
+ }
202
+ request_body = {
203
+ fulfillment_request : {
204
+ fulfillment_order_line_items : [
205
+ { id : 1 , quantity : 1 }
206
+ ] ,
207
+ message : 'Fulfill this FO, please.'
208
+ }
209
+ }
210
+ fake "fulfillment_orders/519788021/fulfillment_request" , :method => :post ,
211
+ :request_body => ActiveSupport ::JSON . encode ( request_body ) ,
212
+ :body => ActiveSupport ::JSON . encode ( body )
213
+
214
+ fulfillment_order = ShopifyAPI ::FulfillmentOrder . find ( 519788021 )
215
+ params = {
216
+ fulfillment_order_line_items : [ { id : 1 , quantity : 1 } ] ,
217
+ message : "Fulfill this FO, please."
218
+ }
219
+ response_fulfillment_orders = fulfillment_order . request_fulfillment ( params )
220
+
221
+ assert_equal 'closed' , fulfillment_order . status
222
+ assert_equal 3 , response_fulfillment_orders . size
223
+
224
+ original_fo = response_fulfillment_orders [ 'original_fulfillment_order' ]
225
+ assert_equal 519788021 , original_fo . id
226
+ assert_equal 'closed' , original_fo . status
227
+
228
+ submitted_fo = response_fulfillment_orders [ 'submitted_fulfillment_order' ]
229
+ assert_equal 2 , submitted_fo . id
230
+ assert_equal 'open' , submitted_fo . status
231
+ assert_equal 'submitted' , submitted_fo . request_status
232
+
233
+ assert_nil response_fulfillment_orders [ 'unsubmitted_fulfillment_order' ]
234
+ end
187
235
end
188
236
189
237
context "#accept_fulfillment_request" do
@@ -234,7 +282,7 @@ def setup
234
282
end
235
283
end
236
284
237
- context "#cancellation_request " do
285
+ context "#request_cancellation " do
238
286
should "make a cancellation request for a fulfillment order" do
239
287
fulfillment_order = ShopifyAPI ::FulfillmentOrder . find ( 519788021 )
240
288
@@ -244,7 +292,7 @@ def setup
244
292
fake "fulfillment_orders/519788021/cancellation_request" , :method => :post ,
245
293
:body => ActiveSupport ::JSON . encode ( cancelling )
246
294
247
- cancelled = fulfillment_order . cancellation_request ( message : "Cancelling this please." )
295
+ cancelled = fulfillment_order . request_cancellation ( message : "Cancelling this please." )
248
296
249
297
assert_equal true , cancelled
250
298
assert_equal 'in_progress' , fulfillment_order . status
0 commit comments