/** * @dataProvider dataProviderCallbackValidateProduct * @param bool $validate */ public function testCallbackValidateProduct($validate) { $args['product'] = $this->productModel; $args['attributes'] = []; $args['idx'] = 0; $args['row'] = ['entity_id' => '1', 'entity_type_id' => '4', 'attribute_set_id' => '4', 'type_id' => 'simple', 'sku' => 'Product', 'has_options' => '0', 'required_options' => '0', 'created_at' => '2014-06-25 13:14:30', 'updated_at' => '2014-06-25 14:37:15']; $this->storeManager->expects($this->any())->method('getWebsites')->with(true)->will($this->returnValue([$this->websiteModel, $this->websiteModel])); $this->websiteModel->expects($this->at(0))->method('getId')->will($this->returnValue('1')); $this->websiteModel->expects($this->at(2))->method('getId')->will($this->returnValue('2')); $this->websiteModel->expects($this->any())->method('getDefaultStore')->will($this->returnValue($this->storeModel)); $this->storeModel->expects($this->at(0))->method('getId')->will($this->returnValue('1')); $this->storeModel->expects($this->at(1))->method('getId')->will($this->returnValue('2')); $this->combineFactory->expects($this->any())->method('create')->will($this->returnValue($this->condition)); $this->condition->expects($this->any())->method('validate')->will($this->returnValue($validate)); $this->condition->expects($this->any())->method('setRule')->will($this->returnSelf()); $this->productModel->expects($this->any())->method('getId')->will($this->returnValue(1)); $this->rule->callbackValidateProduct($args); $matchingProducts = $this->rule->getMatchingProductIds(); foreach ($matchingProducts['1'] as $matchingRules) { $this->assertEquals($validate, $matchingRules); } }
/** * {@inheritdoc} */ public function callbackValidateProduct($args) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'callbackValidateProduct'); if (!$pluginInfo) { return parent::callbackValidateProduct($args); } else { return $this->___callPlugins('callbackValidateProduct', func_get_args(), $pluginInfo); } }