function it_does_not_add_violation_if_product_is_simple_but_code_has_not_been_used_among_neither_producs_nor_product_variants(ExecutionContextInterface $context, ProductInterface $product, ProductVariantRepositoryInterface $productVariantRepository)
{
$constraint = new UniqueSimpleProductCode(['message' => 'Simple product code has to be unique']);
$product->isSimple()->willReturn(true);
$product->getCode()->willReturn('AWESOME_PRODUCT');
$context->buildViolation(Argument::any())->shouldNotBeCalled();
$productVariantRepository->findOneBy(['code' => 'AWESOME_PRODUCT'])->willReturn(null);
$this->validate($product, $constraint);
}