diff --git a/src/main/java/it/aboutbits/springboot/testing/testdata/base/ModifyableTestDataCreator.java b/src/main/java/it/aboutbits/springboot/testing/testdata/base/ModifiableTestDataCreator.java similarity index 93% rename from src/main/java/it/aboutbits/springboot/testing/testdata/base/ModifyableTestDataCreator.java rename to src/main/java/it/aboutbits/springboot/testing/testdata/base/ModifiableTestDataCreator.java index a959563..d945982 100644 --- a/src/main/java/it/aboutbits/springboot/testing/testdata/base/ModifyableTestDataCreator.java +++ b/src/main/java/it/aboutbits/springboot/testing/testdata/base/ModifiableTestDataCreator.java @@ -12,7 +12,7 @@ @SuppressWarnings("unchecked") @Slf4j -public abstract class ModifyableTestDataCreator, ITEM, PARAMETER> extends TestDataCreator { +public abstract class ModifiableTestDataCreator, ITEM, PARAMETER> extends TestDataCreator { protected static final FakerExtended FAKER = new FakerExtended(); private boolean mutatorSet = false; @@ -25,7 +25,7 @@ public abstract class ModifyableTestDataCreator resultMutator = (item, index) -> { }; - protected ModifyableTestDataCreator(int count) { + protected ModifiableTestDataCreator(int count) { super(count); } diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/core/RuleValidator.java b/src/main/java/it/aboutbits/springboot/testing/validation/core/RuleValidator.java index 9a4a3da..7e7b16f 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/core/RuleValidator.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/core/RuleValidator.java @@ -117,9 +117,19 @@ private static

void assertThatValidationIsCompliantForEachProperty( var violations = validator.validate(copy); // Check if there are any violations + var violatingFieldMessages = violations + .stream() + .map(violation -> + "%s => %s".formatted( + violation.getPropertyPath().toString(), + violation.getMessage() + ) + ); + assertThat(violations) .withFailMessage( - "More than one property failed to validate during mutation. The supplied parameter possibly contains invalid values." + "More than one property failed to validate during mutation. The supplied parameter possibly contains invalid values: %s", + violatingFieldMessages.collect(Collectors.joining(" | ")) ) .hasSizeLessThan(2); diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotBlankRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotBlankRule.java index 052cbb3..8914566 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotBlankRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotBlankRule.java @@ -4,6 +4,7 @@ import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; import it.aboutbits.springboot.testing.validation.source.BlankValueSource; +import it.aboutbits.springboot.testing.validation.source.NullValueSource; import lombok.NonNull; @SuppressWarnings("unchecked") @@ -12,6 +13,9 @@ default V notBlank(@NonNull String property) { addRule( new Rule(property, BlankValueSource.class) ); + addRule( + new Rule(property, NullValueSource.class) + ); return (V) this; } } diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotEmptyRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotEmptyRule.java index 53ba30d..b95bd7a 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotEmptyRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotEmptyRule.java @@ -4,6 +4,7 @@ import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; import it.aboutbits.springboot.testing.validation.source.EmptyValueSource; +import it.aboutbits.springboot.testing.validation.source.NullValueSource; import lombok.NonNull; @SuppressWarnings("unchecked") @@ -12,6 +13,9 @@ default V notEmpty(@NonNull String property) { addRule( new Rule(property, EmptyValueSource.class) ); + addRule( + new Rule(property, NullValueSource.class) + ); return (V) this; } }