function it_adds_violation_when_min_is_greater_than_max($context, AttributeInterface $attribute, ValidNumberRange $constraint) { $attribute->getNumberMin()->willReturn(9); $attribute->getNumberMax()->willReturn(1); $attribute->isNegativeAllowed()->willReturn(false); $context->addViolationAt('numberMax', $constraint->message)->shouldBeCalled(); $this->validate($attribute, $constraint); }
function it_guesses_aggregated_guessers_with_range_without_notDecimal(AttributeInterface $attribute) { $attribute->getNumberMin()->willReturn(5); $attribute->getNumberMax()->willReturn(10); $attribute->isDecimalsAllowed()->willReturn(true); $constraints = $this->guessConstraints($attribute); $constraints->shouldHaveCount(1); $constraintsAll = $constraints[0]; $constraintsAll->shouldBeAnInstanceOf('Symfony\\Component\\Validator\\Constraints\\All'); $constraintsAll->constraints->shouldHaveCount(3); $constraintsAll->constraints[0]->shouldBeAnInstanceOf('Symfony\\Component\\Validator\\Constraints\\Type'); $constraintsAll->constraints[0]->type->shouldBe('Pim\\Bundle\\CatalogBundle\\Model\\ProductPriceInterface'); $constraintsAll->constraints[1]->shouldBeAnInstanceOf('Pim\\Bundle\\CatalogBundle\\Validator\\Constraints\\Numeric'); $constraintsAll->constraints[2]->shouldBeAnInstanceOf('Pim\\Bundle\\CatalogBundle\\Validator\\Constraints\\Range'); }
/** * {@inheritdoc} */ public function guessConstraints(AttributeInterface $attribute) { $constraints = array(); if ('pim_catalog_date' === $attribute->getAttributeType()) { $min = $attribute->getDateMin(); $max = $attribute->getDateMax(); } else { $min = $attribute->getNumberMin(); $max = $attribute->getNumberMax(); if (false === $attribute->isNegativeAllowed() && ($min === null || $min < 0)) { $min = 0; } } if (null !== $min || null !== $max) { $constraints[] = new Range(array('min' => $min, 'max' => $max)); } return $constraints; }
function it_does_not_guess_minmax_date(AttributeInterface $attribute) { $attribute->getAttributeType()->willReturn('pim_catalog_date'); $attribute->getDateMin()->willReturn(null); $attribute->getDateMax()->willReturn(null); $attribute->getNumberMin()->shouldNotBeCalled(); $attribute->getNumberMax()->shouldNotBeCalled(); $attribute->isNegativeAllowed()->shouldNotBeCalled(); $constraints = $this->guessConstraints($attribute); $constraints->shouldReturn([]); }