/** * @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()); }
/** * @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); }
/** * 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; }
/** * 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); } }