예제 #1
0
 /**
  * {@inheritdoc}
  */
 public function beforeSave($object)
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'beforeSave');
     if (!$pluginInfo) {
         return parent::beforeSave($object);
     } else {
         return $this->___callPlugins('beforeSave', func_get_args(), $pluginInfo);
     }
 }
예제 #2
0
 /**
  * @covers \Magento\Catalog\Model\Product\Attribute\Backend\Media::beforeSave
  * @covers \Magento\Catalog\Model\Product\Attribute\Backend\Media::getRenamedImage
  */
 public function testBeforeSave()
 {
     $fileName = 'magento_image.jpg';
     $fileLabel = 'Magento image';
     /** @var $product \Magento\Catalog\Model\Product */
     $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Model\\Product');
     $product->setData('media_gallery', ['images' => ['image' => ['file' => $fileName, 'label' => $fileLabel]]]);
     $product->setData('image', $fileName);
     $this->_model->beforeSave($product);
     $this->assertStringStartsWith('./magento_image', $product->getData('media_gallery/images/image/new_file'));
     $this->assertEquals($fileLabel, $product->getData('image_label'));
     $product->setIsDuplicate(true);
     $product->setData('media_gallery', ['images' => ['image' => ['value_id' => '100', 'file' => $fileName, 'label' => $fileLabel]]]);
     $this->_model->beforeSave($product);
     $this->assertStringStartsWith('./magento_image', $product->getData('media_gallery/duplicate/100'));
     $this->assertEquals($fileLabel, $product->getData('image_label'));
 }
예제 #3
0
 /**
  * @dataProvider beforeSaveDataProvider
  * @param array $value
  */
 public function testBeforeSave($value)
 {
     $attributeCode = 'attr_code';
     $attribute = $this->getMock('Magento\\Eav\\Model\\Entity\\Attribute', ['getAttributeCode', 'getIsRequired', 'isValueEmpty', 'getIsUnique', 'getEntityType', '__wakeup'], [], '', false);
     $mediaAttributes = ['image' => $attribute, 'small_image' => $attribute, 'thumbnail' => $attribute];
     $attribute->expects($this->any())->method('getAttributeCode')->will($this->returnValue($attributeCode));
     $this->dataObject->expects($this->any())->method('getIsDuplicate')->will($this->returnValue(false));
     $this->model->setAttribute($attribute);
     $this->dataObject->setData(['attr_code' => ['images' => $value]]);
     $this->dataObject->expects($this->any())->method('getMediaAttributes')->will($this->returnValue($mediaAttributes));
     $this->model->beforeSave($this->dataObject);
     foreach ($this->dataObject['attr_code']['images'] as $imageType => $imageData) {
         if (isset($imageData['new_file'])) {
             $value[$imageType]['file'] = $imageData['file'];
             $value[$imageType]['new_file'] = $imageData['new_file'];
         }
         $this->assertEquals($value[$imageType], $imageData);
     }
 }