/** * @param string $imageId * @param string $imageFile * @param string $baseFile * @param string $newFile * @param string $destination * @param boolean $setImageFile * @param boolean $isCached * @param boolean $isBaseFilePlaceholder * @param array $resizedImageInfo * @dataProvider getResizedImageInfoDataProvider */ public function testGetResizedImageInfo($imageId, $imageFile, $baseFile, $newFile, $destination, $setImageFile, $isCached, $isBaseFilePlaceholder, $resizedImageInfo) { $productMock = $this->getMockBuilder('Magento\\Catalog\\Model\\Product')->disableOriginalConstructor()->getMock(); $productMock->expects($this->any())->method('getData')->with($destination)->willReturn($imageFile); $this->image->expects($this->any())->method('setBaseFile')->with($imageFile)->willReturnSelf(); $this->image->expects($this->once())->method('getBaseFile')->willReturn($baseFile); $this->image->expects($this->any())->method('getDestinationSubdir')->willReturn($destination); $this->image->expects($this->any())->method('isCached')->willReturn($isCached); $this->image->expects($this->any())->method('resize')->willReturnSelf(); $this->image->expects($this->any())->method('saveFile')->willReturnSelf(); $this->image->expects($this->once())->method('getResizedImageInfo')->willReturn($resizedImageInfo); $this->image->expects($this->any())->method('isBaseFilePlaceholder')->willReturn($isBaseFilePlaceholder); $this->image->expects($this->any())->method('getNewFile')->willReturn($newFile); $this->prepareAttributes([], $imageId); $this->helper->init($productMock, $imageId); if ($setImageFile) { $this->helper->setImageFile($imageFile); } $result = $this->helper->getResizedImageInfo(); $this->assertEquals($resizedImageInfo, $result); }
/** * Process image data * * @param Product $product * @param array $imageData * @param string $file * @return $this * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ protected function processImageData(Product $product, array $imageData, $file) { $this->imageHelper->init($product, $imageData['id'], $imageData); $this->imageHelper->setImageFile($file); if (isset($imageData['aspect_ratio'])) { $this->imageHelper->keepAspectRatio($imageData['aspect_ratio']); } if (isset($imageData['frame'])) { $this->imageHelper->keepFrame($imageData['frame']); } if (isset($imageData['transparency'])) { $this->imageHelper->keepTransparency($imageData['transparency']); } if (isset($imageData['constrain'])) { $this->imageHelper->constrainOnly($imageData['constrain']); } if (isset($imageData['background'])) { $this->imageHelper->backgroundColor($imageData['background']); } $this->imageHelper->save(); return $this; }