@@ -286,9 +286,11 @@ public function testSaveIfOptionIdIsNull()
286
286
$ optionMock ->expects ($ this ->once ())->method ('setParentId ' )->with ($ productId )->willReturnSelf ();
287
287
288
288
$ optionIdsMap = [null , $ optionId , $ optionId ];
289
- $ optionMock ->expects ($ this ->any ())->method ('getOptionId ' )->willReturnCallback (function () use (&$ optionIdsMap ) {
290
- return array_shift ($ optionIdsMap );
291
- });
289
+ $ optionMock ->expects ($ this ->any ())->method ('getOptionId ' )->willReturnCallback (
290
+ function () use (&$ optionIdsMap ) {
291
+ return array_shift ($ optionIdsMap );
292
+ }
293
+ );
292
294
$ optionMock ->expects ($ this ->exactly (2 ))->method ('getProductLinks ' )->willReturn ([$ linkedProductMock ]);
293
295
294
296
$ this ->optionResourceMock ->expects ($ this ->once ())->method ('save ' )->with ($ optionMock )->willReturnSelf ();
@@ -364,21 +366,8 @@ public function testSaveExistingOption()
364
366
$ productMock = $ this ->getMock ('\Magento\Catalog\Model\Product ' , [], [], '' , false );
365
367
$ productMock ->expects ($ this ->once ())->method ('getId ' )->willReturn ($ productId );
366
368
$ productMock ->expects ($ this ->any ())->method ('getSku ' )->willReturn ($ productSku );
367
- $ optionMock = $ this ->getMock (
368
- '\Magento\Bundle\Model\Option ' ,
369
- [
370
- 'setStoreId ' ,
371
- 'setParentId ' ,
372
- 'getProductLinks ' ,
373
- 'getOptionId ' ,
374
- 'setOptionId ' ,
375
- 'setDefaultTitle ' ,
376
- 'getTitle '
377
- ],
378
- [],
379
- '' ,
380
- false
381
- );
369
+
370
+ $ optionMock = $ this ->createOptionMock ();
382
371
$ optionMock ->expects ($ this ->once ())->method ('setStoreId ' )->with ($ storeId )->willReturnSelf ();
383
372
$ optionMock ->expects ($ this ->once ())->method ('setParentId ' )->with ($ productId )->willReturnSelf ();
384
373
$ optionMock ->expects ($ this ->any ())->method ('getOptionId ' )->willReturn ($ optionId );
@@ -613,4 +602,57 @@ public function testGetListException()
613
602
->willReturn ($ productMock );
614
603
$ this ->assertEquals (['object ' ], $ this ->model ->getList ($ productSku ));
615
604
}
605
+
606
+ /**
607
+ * @return \PHPUnit_Framework_MockObject_MockObject
608
+ */
609
+ private function createOptionMock ()
610
+ {
611
+ $ contextMock = $ this ->getMock ('Magento\Framework\Model\Context ' , [], [], '' , false );
612
+ $ registryMock = $ this ->getMock ('Magento\Framework\Registry ' , [], [], '' , false );
613
+ $ extensionAttributesFactory = $ this ->getMock (
614
+ 'Magento\Framework\Api\ExtensionAttributesFactory ' ,
615
+ [],
616
+ [],
617
+ '' ,
618
+ false
619
+ );
620
+ $ attributeValueFactoryMock = $ this ->getMock ('Magento\Framework\Api\AttributeValueFactory ' , [], [], '' , false );
621
+ $ resourceMock = $ this ->getMock (
622
+ 'Magento\Framework\Model\Resource\Db\AbstractDb ' ,
623
+ [
624
+ '_construct ' ,
625
+ 'getIdFieldName '
626
+ ],
627
+ [],
628
+ '' ,
629
+ false
630
+ );
631
+ $ resourceCollectionMock = $ this ->getMockBuilder ('Magento\Framework\Data\Collection\AbstractDb ' )
632
+ ->disableOriginalConstructor ()
633
+ ->getMockForAbstractClass ();
634
+ $ optionMock = $ this ->getMock (
635
+ 'Magento\Bundle\Model\Option ' ,
636
+ [
637
+ 'setStoreId ' ,
638
+ 'setParentId ' ,
639
+ 'getProductLinks ' ,
640
+ 'getOptionId ' ,
641
+ 'setOptionId ' ,
642
+ 'setDefaultTitle ' ,
643
+ 'getTitle '
644
+ ],
645
+ [
646
+ $ contextMock ,
647
+ $ registryMock ,
648
+ $ extensionAttributesFactory ,
649
+ $ attributeValueFactoryMock ,
650
+ $ resourceMock ,
651
+ $ resourceCollectionMock
652
+ ],
653
+ '' ,
654
+ true
655
+ );
656
+ return $ optionMock ;
657
+ }
616
658
}
0 commit comments