@@ -212,8 +212,8 @@ public function testInitialize()
212
212
->method ('setOptionId ' );
213
213
214
214
$ optionsData = [
215
- 'option1 ' => ['option_id ' => 1 , ' is_delete ' => true , 'name ' => 'name1 ' , 'price ' => 'price1 ' ],
216
- 'option2 ' => ['option_id ' => 2 , ' is_delete ' => false , 'name ' => 'name1 ' , 'price ' => 'price1 ' ],
215
+ 'option1 ' => ['is_delete ' => true , 'name ' => 'name1 ' , 'price ' => 'price1 ' ],
216
+ 'option2 ' => ['is_delete ' => false , 'name ' => 'name1 ' , 'price ' => 'price1 ' ],
217
217
];
218
218
$ productData = [
219
219
'stock_data ' => ['stock_data ' ],
@@ -326,25 +326,72 @@ public function testInitialize()
326
326
public function mergeProductOptionsDataProvider ()
327
327
{
328
328
return [
329
- [
329
+ ' options are not array, empty array is returned ' => [
330
330
null ,
331
331
[],
332
332
[],
333
333
],
334
- [
335
- ['key ' => ' val ' ],
334
+ ' replacement is not array, original options are returned ' => [
335
+ ['val ' ],
336
336
null ,
337
- ['key ' => ' val ' ],
337
+ ['val ' ],
338
338
],
339
- [
340
- ['key ' => ['key1 ' => 'val1 ' , 'key2 ' => 'val2 ' , 'default_key ' => 'val3 ' , 'default_key2 ' => 'val4 ' ]],
341
- ['key ' => ['key1 ' => '0 ' , 'key2 ' => '1 ' ]],
342
- ['key ' => ['key1 ' => 'val1 ' , 'key2 ' => 'val4 ' , 'default_key ' => 'val3 ' , 'default_key2 ' => 'val4 ' ]],
339
+ 'ids do not match, no replacement occurs ' => [
340
+ [
341
+ [
342
+ 'option_id ' => '3 ' ,
343
+ 'key1 ' => 'val1 ' ,
344
+ 'default_key1 ' => 'val2 '
345
+ ]
346
+ ],
347
+ [4 => ['key1 ' => '1 ' ]],
348
+ [
349
+ [
350
+ 'option_id ' => '3 ' ,
351
+ 'key1 ' => 'val1 ' ,
352
+ 'default_key1 ' => 'val2 '
353
+ ]
354
+ ]
343
355
],
344
- [
345
- ['key ' => ['key1 ' => 'val1 ' , 'key2 ' => 'val2 ' , 'default_key1 ' => 'val3 ' ]],
346
- ['key ' => ['key1 ' => '1 ' , 'key2 ' => '1 ' ]],
347
- ['key ' => ['key1 ' => 'val3 ' , 'key2 ' => 'val2 ' , 'default_key1 ' => 'val3 ' ]],
356
+ 'key2 is replaced, key1 is not (checkbox is not checked) ' => [
357
+ [
358
+ [
359
+ 'option_id ' => '5 ' ,
360
+ 'key1 ' => 'val1 ' ,
361
+ 'key2 ' => 'val2 ' ,
362
+ 'default_key1 ' => 'val3 ' ,
363
+ 'default_key2 ' => 'val4 '
364
+ ]
365
+ ],
366
+ [5 => ['key1 ' => '0 ' , 'key2 ' => '1 ' ]],
367
+ [
368
+ [
369
+ 'option_id ' => '5 ' ,
370
+ 'key1 ' => 'val1 ' ,
371
+ 'key2 ' => 'val4 ' ,
372
+ 'default_key1 ' => 'val3 ' ,
373
+ 'default_key2 ' => 'val4 '
374
+ ]
375
+ ]
376
+ ],
377
+ 'key1 is replaced, key2 has no default value ' => [
378
+ [
379
+ [
380
+ 'option_id ' => '7 ' ,
381
+ 'key1 ' => 'val1 ' ,
382
+ 'key2 ' => 'val2 ' ,
383
+ 'default_key1 ' => 'val3 '
384
+ ]
385
+ ],
386
+ [7 => ['key1 ' => '1 ' , 'key2 ' => '1 ' ]],
387
+ [
388
+ [
389
+ 'option_id ' => '7 ' ,
390
+ 'key1 ' => 'val3 ' ,
391
+ 'key2 ' => 'val2 ' ,
392
+ 'default_key1 ' => 'val3 '
393
+ ]
394
+ ],
348
395
],
349
396
];
350
397
}
0 commit comments