/** * @dataProvider dataForMediaGallery */ public function testGetProductMediaGallery($mediaGallery, $image) { $this->productMock->expects($this->once())->method('getMediaAttributeValues')->willReturn($mediaGallery); $this->imageHelperMock->expects($this->any())->method('init')->willReturnMap([[$this->productMock, 'product_page_image_large', [], $this->imageHelperMock], [$this->productMock, 'product_page_image_medium', [], $this->imageHelperMock], [$this->productMock, 'product_page_image_small', [], $this->imageHelperMock]]); $this->imageHelperMock->expects($this->any())->method('setImageFile')->with($image)->willReturnSelf(); $this->imageHelperMock->expects($this->any())->method('constrainOnly')->willReturnSelf(); $this->imageHelperMock->expects($this->any())->method('keepAspectRatio')->willReturnSelf(); $this->imageHelperMock->expects($this->any())->method('keepFrame')->willReturnSelf(); $this->imageHelperMock->expects($this->any())->method('getUrl')->willReturn('http://full_path_to_image/magento1.png'); $mediaObject = $this->getMock('\\Magento\\Framework\\DataObject', [], [], '', false); $iterator = new \ArrayIterator([$mediaObject]); $mediaCollectionMock = $this->getMock('\\Magento\\Framework\\Data\\Collection', [], [], '', false); $mediaCollectionMock->expects($this->any())->method('getIterator')->willReturn($iterator); $mediaObject->method('getData')->withConsecutive(['value_id'], ['file'])->willReturnOnConsecutiveCalls(0, $image); $this->productMock->method('getMediaGalleryImages')->willReturn($mediaCollectionMock); $this->swatchHelperObject->getProductMediaGallery($this->productMock); }