function it_normalizes_constraint_violation_with_locale(ConstraintViolationInterface $violation, ProductInterface $product, ProductValueInterface $productValue, AttributeInterface $attribute) { $violation->getRoot()->willReturn($product); $product->getValues()->willReturn(['movie-title-fr_FR' => $productValue]); $productValue->getLocale()->willReturn('fr_FR'); $productValue->getScope()->willReturn(null); $productValue->getAttribute()->willReturn($attribute); $attribute->getCode()->willReturn('movie-title'); $violation->getPropertyPath()->willReturn('values[movie-title-fr_FR].varchar'); $violation->getMessage()->willReturn('This movie title is very bad.'); $this->normalize($violation, 'internal_api', ['product' => $product])->shouldReturn(['attribute' => 'movie-title', 'locale' => 'fr_FR', 'scope' => null, 'message' => 'This movie title is very bad.']); }
/** * @param ConstraintViolationInterface $violation */ public function violation(ConstraintViolationInterface $violation) { $this->violations[] = $violation; $this->logger->warning("DataTrans: validation warning, '{class}', '{property}', '{message}', '{invalidValue}'!", array('content' => get_class($violation->getRoot()), 'property' => $violation->getPropertyPath(), 'message' => $violation->getMessage(), 'invalidValue' => is_scalar($violation->getInvalidValue()) ? $violation->getInvalidValue() : '_object_')); }
/** * @Serializer\Groups({"debug"}) * @Serializer\SerializedName("root") * @Serializer\VirtualProperty */ public function getRoot() { return $this->constraintViolation->getRoot(); }