/**
  * @return void
  */
 public function testImportProductOptionValueUsage()
 {
     $product = $this->createProductConcrete();
     $optionType = $this->createOptionTypeWithValue('SHADE', 'VIOLET');
     $productOptionTypeUsage = $this->createProductOptionTypeUsage($product, $optionType);
     $this->facade->importProductOptionValueUsage($productOptionTypeUsage->getIdProductOptionTypeUsage(), 'VIOLET');
     $this->facade->importProductOptionValueUsage($productOptionTypeUsage->getIdProductOptionTypeUsage(), 'VIOLET');
     $this->facade->flushBuffer();
     $result = SpyProductOptionValueUsageQuery::create()->filterByFkProductOptionTypeUsage($productOptionTypeUsage->getIdProductOptionTypeUsage())->filterByFkProductOptionValue($optionType->getSpyProductOptionValues()[0]->getIdProductOptionValue())->find();
     $this->assertEquals(1, $result->count(), 'Failed asserting that method is idempotent');
     $this->performAssertionOnTouchTable($product->getFkProductAbstract());
 }
 /**
  * @return \Orm\Zed\ProductOption\Persistence\SpyProductOptionValueUsageQuery
  */
 public function createProductOptionValueUsageQuery()
 {
     return SpyProductOptionValueUsageQuery::create();
 }