Example #1
0
 /**
  * @dataProvider getIdentitiesProvider
  * @param array $expected
  * @param array $origData
  * @param array $data
  * @param bool $isDeleted
  */
 public function testGetIdentities($expected, $origData, $data, $isDeleted = false)
 {
     $this->model->setIdFieldName('id');
     if (is_array($origData)) {
         foreach ($origData as $key => $value) {
             $this->model->setOrigData($key, $value);
         }
     }
     $this->model->setData($data);
     $this->model->isDeleted($isDeleted);
     $this->assertEquals($expected, $this->model->getIdentities());
 }
Example #2
0
 /**
  * @magentoAppArea frontend
  */
 public function testReset()
 {
     $model = $this->_model;
     $this->_assertEmpty($model);
     $this->_model->setData('key', 'value');
     $this->_model->reset();
     $this->_assertEmpty($model);
     $this->_model->setOrigData('key', 'value');
     $this->_model->reset();
     $this->_assertEmpty($model);
     $this->_model->addCustomOption('key', 'value');
     $this->_model->reset();
     $this->_assertEmpty($model);
     $this->_model->canAffectOptions(true);
     $this->_model->reset();
     $this->_assertEmpty($model);
 }
 /**
  * @magentoAppArea frontend
  */
 public function testReset()
 {
     $model = $this->_model;
     $this->_assertEmpty($model);
     $this->_model->setData('key', 'value');
     $this->_model->reset();
     $this->_assertEmpty($model);
     $this->_model->setOrigData('key', 'value');
     $this->_model->reset();
     $this->_assertEmpty($model);
     $this->_model->addCustomOption('key', 'value');
     $this->_model->reset();
     $this->_assertEmpty($model);
     $this->_model->addOption(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Model\\Product\\Option'));
     $this->_model->reset();
     $this->_assertEmpty($model);
     $this->_model->canAffectOptions(true);
     $this->_model->reset();
     $this->_assertEmpty($model);
 }
Example #4
0
 /**
  * Assign group prices to product data
  *
  * @param \Magento\Catalog\Model\Product $object
  * @return $this
  */
 public function afterLoad($object)
 {
     $storeId = $object->getStoreId();
     $websiteId = null;
     if ($this->getAttribute()->isScopeGlobal()) {
         $websiteId = 0;
     } else {
         if ($storeId) {
             $websiteId = $this->_storeManager->getStore($storeId)->getWebsiteId();
         }
     }
     $data = $this->_getResource()->loadPriceData($object->getId(), $websiteId);
     foreach ($data as $k => $v) {
         $data[$k]['website_price'] = $v['price'];
         if ($v['all_groups']) {
             $data[$k]['cust_group'] = CustomerGroupServiceInterface::CUST_GROUP_ALL;
         }
     }
     if (!$object->getData('_edit_mode') && $websiteId) {
         $data = $this->preparePriceData($data, $object->getTypeId(), $websiteId);
     }
     $object->setData($this->getAttribute()->getName(), $data);
     $object->setOrigData($this->getAttribute()->getName(), $data);
     $valueChangedKey = $this->getAttribute()->getName() . '_changed';
     $object->setOrigData($valueChangedKey, 0);
     $object->setData($valueChangedKey, 0);
     return $this;
 }
Example #5
0
 /**
  * Assign group prices to product data
  *
  * @param \Magento\Catalog\Model\Product $object
  * @return $this
  */
 public function afterLoad($object)
 {
     $storeId = $object->getStoreId();
     $websiteId = null;
     if ($this->getAttribute()->isScopeGlobal()) {
         $websiteId = 0;
     } elseif ($storeId) {
         $websiteId = $this->_storeManager->getStore($storeId)->getWebsiteId();
     }
     $data = $this->_getResource()->loadPriceData($object->getData($this->metadataPool->getMetadata(ProductInterface::class)->getLinkField()), $websiteId);
     foreach ($data as $k => $v) {
         $data[$k]['website_price'] = $v['price'];
         if ($v['all_groups']) {
             $data[$k]['cust_group'] = $this->_groupManagement->getAllCustomersGroup()->getId();
         }
     }
     if (!$object->getData('_edit_mode') && $websiteId) {
         $data = $this->preparePriceData($data, $object->getTypeId(), $websiteId);
     }
     $object->setData($this->getAttribute()->getName(), $data);
     $object->setOrigData($this->getAttribute()->getName(), $data);
     $valueChangedKey = $this->getAttribute()->getName() . '_changed';
     $object->setOrigData($valueChangedKey, 0);
     $object->setData($valueChangedKey, 0);
     return $this;
 }
 /**
  * {@inheritdoc}
  */
 public function setOrigData($key = null, $data = null)
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'setOrigData');
     if (!$pluginInfo) {
         return parent::setOrigData($key, $data);
     } else {
         return $this->___callPlugins('setOrigData', func_get_args(), $pluginInfo);
     }
 }