use of com.qcadoo.model.internal.validators.UnscaledValueValidator in project qcadoo by qcadoo.
the class ValidatorTest method shouldIgnoreUnscaledValueValidatorForStringValue.
@Test
public void shouldIgnoreUnscaledValueValidatorForStringValue() throws Exception {
// given
Entity entity = new DefaultEntity(dataDefinition);
entity.setField("name", "Qcadoo Framework RLZ!");
fieldDefinitionName.withValidator(new UnscaledValueValidator(null, 1, null));
// when
entity = dataDefinition.save(entity);
// then
verify(session).save(any(SampleSimpleDatabaseObject.class));
assertTrue(entity.isValid());
}
use of com.qcadoo.model.internal.validators.UnscaledValueValidator in project qcadoo by qcadoo.
the class ValidatorTest method shouldHasErrorsIfIntegerUnscaledValueIsNotEqual.
@Test
public void shouldHasErrorsIfIntegerUnscaledValueIsNotEqual() throws Exception {
// given
Entity entity = new DefaultEntity(dataDefinition);
entity.setField("age", new Integer("123"));
fieldDefinitionAge.withValidator(new UnscaledValueValidator(null, 4, null));
// when
entity = dataDefinition.save(entity);
// then
verify(session, never()).save(any(SampleSimpleDatabaseObject.class));
assertFalse(entity.isValid());
}
use of com.qcadoo.model.internal.validators.UnscaledValueValidator in project qcadoo by qcadoo.
the class ValidatorTest method shouldHasErrorsIfBigDecimalPresicionAndScaleAreTooLong.
@Test
public void shouldHasErrorsIfBigDecimalPresicionAndScaleAreTooLong() throws Exception {
// given
Entity entity = new DefaultEntity(dataDefinition);
entity.setField("money", new BigDecimal("123.456"));
fieldDefinitionMoney.withValidator(new ScaleValidator(null, null, 2)).withValidator(new UnscaledValueValidator(null, null, 4));
// when
entity = dataDefinition.save(entity);
// then
verify(session, never()).save(any(SampleSimpleDatabaseObject.class));
assertFalse(entity.isValid());
}
use of com.qcadoo.model.internal.validators.UnscaledValueValidator in project qcadoo by qcadoo.
the class ValidatorTest method shouldHasErrorsIfBigDecimalUnscaledValueIsNotEqual.
@Test
public void shouldHasErrorsIfBigDecimalUnscaledValueIsNotEqual() throws Exception {
// given
Entity entity = new DefaultEntity(dataDefinition);
entity.setField("money", new BigDecimal("123.45"));
fieldDefinitionMoney.withValidator(new UnscaledValueValidator(null, 4, null));
// when
entity = dataDefinition.save(entity);
// then
verify(session, never()).save(any(SampleSimpleDatabaseObject.class));
assertFalse(entity.isValid());
}
use of com.qcadoo.model.internal.validators.UnscaledValueValidator in project qcadoo by qcadoo.
the class DecimalType method getMissingValidators.
@Override
public Collection<FieldHookDefinition> getMissingValidators(final Iterable<FieldHookDefinition> validators) {
FieldHookDefinition defaultScaleValidator = new ScaleValidator(null, null, NumberService.DEFAULT_MAX_FRACTION_DIGITS_IN_DECIMAL);
FieldHookDefinition defaultUnscaledValueValidator = new UnscaledValueValidator(null, null, NumberService.DEFAULT_MAX_INTEGER_DIGITS_IN_DECIMAL);
Set<FieldHookDefinition> missingValidators = Sets.<FieldHookDefinition>newHashSet(defaultScaleValidator, defaultUnscaledValueValidator);
for (FieldHookDefinition validator : validators) {
if (validator instanceof UnscaledValueValidator && ((UnscaledValueValidator) validator).hasUppuerBoundDefined()) {
missingValidators.remove(defaultUnscaledValueValidator);
}
if (validator instanceof ScaleValidator && ((ScaleValidator) validator).hasUppuerBoundDefined()) {
missingValidators.remove(defaultScaleValidator);
}
}
return missingValidators;
}
Aggregations