/** * @return void */ public function testImportProductOptionTypeUsageExclusion() { $product = $this->createProductConcrete(); $optionShadeViolet = $this->createOptionTypeWithValue('SHADE', 'VIOLET'); $optionFittingClassic = $this->createOptionTypeWithValue('FITTING', 'CLASSIC'); $productOptionFitting = $this->createProductOptionTypeUsage($product, $optionFittingClassic); $productOptionShade = $this->createProductOptionTypeUsage($product, $optionShadeViolet); $this->facade->importProductOptionTypeUsageExclusion($product->getSku(), 'SHADE', 'FITTING'); $this->facade->importProductOptionTypeUsageExclusion($product->getSku(), 'SHADE', 'FITTING'); $this->facade->flushBuffer(); $result = SpyProductOptionTypeUsageExclusionQuery::create()->filterByFkProductOptionTypeUsageA($productOptionShade->getIdProductOptionTypeUsage())->filterByFkProductOptionTypeUsageB($productOptionFitting->getIdProductOptionTypeUsage())->find(); $this->assertEquals(1, $result->count(), 'Failed asserting that method is idempotent'); $this->performAssertionOnTouchTable($product->getFkProductAbstract()); }
/** * @return \Orm\Zed\ProductOption\Persistence\SpyProductOptionTypeUsageExclusionQuery */ public function createProductOptionTypeUsageExclusionQuery() { return SpyProductOptionTypeUsageExclusionQuery::create(); }