spec\Sylius\Bundle\ProductBundle\Validator\ProductVariantCombinationValidatorSpec::it_adds_violation_if_variant_with_given_same_options_already_exists PHP Метод

it_adds_violation_if_variant_with_given_same_options_already_exists() публичный Метод

public it_adds_violation_if_variant_with_given_same_options_already_exists ( Symfony\Component\Validator\Context\ExecutionContextInterface $context, Sylius\Component\Product\Model\ProductInterface $product, Sylius\Component\Product\Model\ProductVariantInterface $variant, Sylius\Component\Product\Checker\ProductVariantsParityCheckerInterface $variantsParityChecker )
$context Symfony\Component\Validator\Context\ExecutionContextInterface
$product Sylius\Component\Product\Model\ProductInterface
$variant Sylius\Component\Product\Model\ProductVariantInterface
$variantsParityChecker Sylius\Component\Product\Checker\ProductVariantsParityCheckerInterface
    function it_adds_violation_if_variant_with_given_same_options_already_exists(ExecutionContextInterface $context, ProductInterface $product, ProductVariantInterface $variant, ProductVariantsParityCheckerInterface $variantsParityChecker)
    {
        $constraint = new ProductVariantCombination(['message' => 'Variant with given options already exists']);
        $variant->getProduct()->willReturn($product);
        $product->hasVariants()->willReturn(true);
        $product->hasOptions()->willReturn(true);
        $variantsParityChecker->checkParity($variant, $product)->willReturn(true);
        $context->addViolation('Variant with given options already exists', Argument::any())->shouldBeCalled();
        $this->validate($variant, $constraint);
    }