@@ -232,10 +232,16 @@ public function testAddBundleToCartWithWrongBundleOptions()
232
232
/**
233
233
* @magentoApiDataFixture Magento/Bundle/_files/product_with_multiple_options_and_custom_quantity.php
234
234
* @magentoApiDataFixture Magento/Checkout/_files/active_quote.php
235
+ * @dataProvider bundleItemOptionsDataProvider
236
+ * @return void
235
237
*/
236
- public function testAddBundleItemWithCustomOptionQuantity ()
238
+ public function testAddBundleItemWithCustomOptionQuantity (
239
+ string $ optionQty0 ,
240
+ string $ optionQty1 ,
241
+ string $ expectedOptionQty0 ,
242
+ string $ expectedOptionQty1
243
+ ): void
237
244
{
238
-
239
245
$ this ->quoteResource ->load (
240
246
$ this ->quote ,
241
247
'test_order_1 ' ,
@@ -250,11 +256,34 @@ public function testAddBundleItemWithCustomOptionQuantity()
250
256
$ uId0 = $ bundleOptions [0 ]['options ' ][0 ]['uid ' ];
251
257
$ uId1 = $ bundleOptions [1 ]['options ' ][0 ]['uid ' ];
252
258
$ response = $ this ->graphQlMutation (
253
- $ this ->getMutationsQuery ($ maskedQuoteId , $ uId0 , $ uId1 , $ sku )
259
+ $ this ->getMutationsQuery ($ maskedQuoteId , $ uId0 , $ uId1 , $ sku, $ optionQty0 , $ optionQty1 )
254
260
);
255
261
$ bundleOptions = $ response ['addProductsToCart ' ]['cart ' ]['items ' ][0 ]['bundle_options ' ];
256
- $ this ->assertEquals (5 , $ bundleOptions [0 ]['values ' ][0 ]['quantity ' ]);
257
- $ this ->assertEquals (1 , $ bundleOptions [1 ]['values ' ][0 ]['quantity ' ]);
262
+ $ this ->assertEquals ($ expectedOptionQty0 , $ bundleOptions [0 ]['values ' ][0 ]['quantity ' ]);
263
+ $ this ->assertEquals ($ expectedOptionQty1 , $ bundleOptions [1 ]['values ' ][0 ]['quantity ' ]);
264
+ }
265
+
266
+ /**
267
+ * Data provider for testAddBundleItemWithCustomOptionQuantity
268
+ *
269
+ * @return array
270
+ */
271
+ public function bundleItemOptionsDataProvider (): array
272
+ {
273
+ return [
274
+ [
275
+ 'optionQty0 ' => '10 ' ,
276
+ 'optionQty1 ' => '1 ' ,
277
+ 'expectedOptionQty0 ' => '10 ' ,
278
+ 'expectedOptionQty1 ' => '1 ' ,
279
+ ],
280
+ [
281
+ 'optionQty0 ' => '5 ' ,
282
+ 'optionQty1 ' => '5 ' ,
283
+ 'expectedOptionQty0 ' => '5 ' ,
284
+ 'expectedOptionQty1 ' => '1 ' ,
285
+ ],
286
+ ];
258
287
}
259
288
260
289
/**
@@ -298,11 +327,22 @@ private function getProductQuery(string $sku): string
298
327
QUERY ;
299
328
}
300
329
330
+ /**
331
+ * @param string $maskedQuoteId
332
+ * @param string $optionUid0
333
+ * @param string $optionUid1
334
+ * @param string $sku
335
+ * @param string $optionQty0
336
+ * @param string $optionQty1
337
+ * @return string
338
+ */
301
339
private function getMutationsQuery (
302
340
string $ maskedQuoteId ,
303
341
string $ optionUid0 ,
304
342
string $ optionUid1 ,
305
- string $ sku
343
+ string $ sku ,
344
+ string $ optionQty0 ,
345
+ string $ optionQty1
306
346
): string {
307
347
return <<<QUERY
308
348
mutation {
@@ -313,15 +353,15 @@ private function getMutationsQuery(
313
353
sku: " {$ sku }"
314
354
quantity: 2
315
355
selected_options: [
316
- " {$ optionUid1 }", " {$ optionUid0 }"
356
+ " {$ optionUid0 }", " {$ optionUid1 }"
317
357
],
318
358
entered_options: [{
319
359
uid: " {$ optionUid0 }"
320
- value: "5 "
360
+ value: " { $ optionQty0 } "
321
361
},
322
362
{
323
363
uid: " {$ optionUid1 }"
324
- value: "5 "
364
+ value: " { $ optionQty1 } "
325
365
}]
326
366
}
327
367
]
0 commit comments