/** * {@inheritdoc} */ public function guessConstraints(AttributeInterface $attribute) { $constraints = array(); if (!$attribute->isDecimalsAllowed()) { $constraints[] = new NotDecimal(); } return $constraints; }
function it_adds_violation_when_max_is_negative_allowed_but_decimal_not_allowed($context, AttributeInterface $attribute, ValidNumberRange $constraint) { $attribute->isNegativeAllowed()->willReturn(true); $attribute->isDecimalsAllowed()->willReturn(false); $attribute->getNumberMin()->willReturn(-2); $attribute->getNumberMax()->willReturn(-1.2); $context->addViolationAt('numberMax', $constraint->invalidNumberMessage)->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'); }
function it_does_not_guess_decimal_allowed(AttributeInterface $attribute) { $attribute->isDecimalsAllowed()->willReturn(true)->shouldBeCalled(); $constraints = $this->guessConstraints($attribute); $constraints->shouldReturn([]); }