예제 #1
0
 /**
  * @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);
 }
예제 #2
0
 /**
  * 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;
 }