diff --git a/src/main/java/eu/ztsh/wymiana/validation/ValidExchangeRequest.java b/src/main/java/eu/ztsh/wymiana/validation/ValidExchangeRequest.java deleted file mode 100644 index 608bc3c..0000000 --- a/src/main/java/eu/ztsh/wymiana/validation/ValidExchangeRequest.java +++ /dev/null @@ -1,24 +0,0 @@ -package eu.ztsh.wymiana.validation; - -import jakarta.validation.Constraint; -import jakarta.validation.Payload; - -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -import static java.lang.annotation.ElementType.TYPE_USE; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - - -@Retention(RUNTIME) -@Target({ TYPE_USE }) -@Documented -@Constraint(validatedBy = {ValidExchangeRequestValidator.class }) -public @interface ValidExchangeRequest { - - String message() default "Exchange request is not valid"; - Class[] groups() default { }; - Class[] payload() default { }; - -} diff --git a/src/main/java/eu/ztsh/wymiana/validation/ValidExchangeRequestValidator.java b/src/main/java/eu/ztsh/wymiana/validation/ValidExchangeRequestValidator.java deleted file mode 100644 index 43d4f1f..0000000 --- a/src/main/java/eu/ztsh/wymiana/validation/ValidExchangeRequestValidator.java +++ /dev/null @@ -1,15 +0,0 @@ -package eu.ztsh.wymiana.validation; - -import eu.ztsh.wymiana.web.model.CurrencyExchangeRequest; -import jakarta.validation.ConstraintValidator; -import jakarta.validation.ConstraintValidatorContext; - -public class ValidExchangeRequestValidator implements ConstraintValidator { - - @Override - public boolean isValid(CurrencyExchangeRequest currencyExchangeRequest, - ConstraintValidatorContext constraintValidatorContext) { - return false; - } - -} diff --git a/src/main/java/eu/ztsh/wymiana/web/model/CurrencyExchangeRequest.java b/src/main/java/eu/ztsh/wymiana/web/model/CurrencyExchangeRequest.java deleted file mode 100644 index 54f192e..0000000 --- a/src/main/java/eu/ztsh/wymiana/web/model/CurrencyExchangeRequest.java +++ /dev/null @@ -1,18 +0,0 @@ -package eu.ztsh.wymiana.web.model; - -import eu.ztsh.wymiana.validation.ValidExchangeRequest; -import jakarta.validation.constraints.NotNull; -import lombok.Builder; -import org.hibernate.validator.constraints.pl.PESEL; - -@Builder -@ValidExchangeRequest -public record CurrencyExchangeRequest( - @PESEL String pesel, - @NotNull String from, - @NotNull String to, - Double toBuy, - Double toSell -) { - -} diff --git a/src/test/java/eu/ztsh/wymiana/validation/AdultValidatorTest.java b/src/test/java/eu/ztsh/wymiana/validation/AdultValidatorTest.java index d4a2ed1..ca24718 100644 --- a/src/test/java/eu/ztsh/wymiana/validation/AdultValidatorTest.java +++ b/src/test/java/eu/ztsh/wymiana/validation/AdultValidatorTest.java @@ -1,42 +1,58 @@ package eu.ztsh.wymiana.validation; +import jakarta.validation.ConstraintValidatorContext; +import org.hibernate.validator.internal.engine.DefaultClockProvider; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.mockito.Mockito; -class AdultValidatorTest extends ValidatorTest { +import static org.assertj.core.api.Assertions.assertThat; - protected AdultValidatorTest() { - super(new AdultValidator()); +class AdultValidatorTest { + + private static AdultValidator validator; + private static ConstraintValidatorContext validatorContext; + + @BeforeAll + static void prepare() { + validator = new AdultValidator(); + validatorContext = Mockito.mock(ConstraintValidatorContext.class); + Mockito.when(validatorContext.getClockProvider()).thenReturn(DefaultClockProvider.INSTANCE); } @Test @DisplayName("No digits in PESEL") void invalidPatternTest() { - assertThatValidation("notAPesel").isFalse(); + assertThat(call("notAPesel")).isFalse(); } @Test @DisplayName("Not an adult") void notAnAdultTest() { - assertThatValidation("24242400000").isFalse(); + assertThat(call("24242400000")).isFalse(); } @Test @DisplayName("Adult") void adultTest() { - assertThatValidation("88010100000").isTrue(); + assertThat(call("88010100000")).isTrue(); } @Test @DisplayName("Elderly person") void seniorTest() { - assertThatValidation("00010100000").isTrue(); + assertThat(call("00010100000")).isTrue(); } @Test @DisplayName("Invalid date") void notAValidDateTest() { - assertThatValidation("00919100000").isFalse(); + assertThat(call("00919100000")).isFalse(); + } + + private boolean call(String value) { + return validator.isValid(value, validatorContext); } } diff --git a/src/test/java/eu/ztsh/wymiana/validation/ValidExchangeRequestValidatorTest.java b/src/test/java/eu/ztsh/wymiana/validation/ValidExchangeRequestValidatorTest.java deleted file mode 100644 index e990658..0000000 --- a/src/test/java/eu/ztsh/wymiana/validation/ValidExchangeRequestValidatorTest.java +++ /dev/null @@ -1,54 +0,0 @@ -package eu.ztsh.wymiana.validation; - -import eu.ztsh.wymiana.web.model.CurrencyExchangeRequest; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; - -class ValidExchangeRequestValidatorTest extends ValidatorTest { - - protected ValidExchangeRequestValidatorTest() { - super(new ValidExchangeRequestValidator()); - } - - @Test - @DisplayName("Valid request with buy value specified") - void validRequestWithBuyTest() { - - } - - @Test - @DisplayName("Valid request with sell value specified") - void validRequestWithSellTest() { - - } - - @Test - @DisplayName("Invalid PESEL value") - void invalidPeselTest() { - - } - - @Test - @DisplayName("From and To have same value") - void sameFromToTest() { - - } - - @Test - @DisplayName("Empty amounts") - void emptyBuySellTest() { - - } - - @Test - @DisplayName("Both Buy and Sell params filled in") - void bothFilledBuySellTest() { - - } - @Test - @DisplayName("Negative amount value") - void negativeAmountTest() { - - } - -} diff --git a/src/test/java/eu/ztsh/wymiana/validation/ValidatorTest.java b/src/test/java/eu/ztsh/wymiana/validation/ValidatorTest.java deleted file mode 100644 index 7dc4bd8..0000000 --- a/src/test/java/eu/ztsh/wymiana/validation/ValidatorTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package eu.ztsh.wymiana.validation; - -import jakarta.validation.ConstraintValidator; -import jakarta.validation.ConstraintValidatorContext; -import org.assertj.core.api.AbstractBooleanAssert; -import org.hibernate.validator.internal.engine.DefaultClockProvider; -import org.junit.jupiter.api.BeforeAll; -import org.mockito.Mockito; - -import static org.assertj.core.api.Assertions.assertThat; - -public abstract class ValidatorTest, C> { - - private final V validator; - private static ConstraintValidatorContext validatorContext; - - protected ValidatorTest(V validator) { - this.validator = validator; - } - - @BeforeAll - static void prepare() { - validatorContext = Mockito.mock(ConstraintValidatorContext.class); - Mockito.when(validatorContext.getClockProvider()).thenReturn(DefaultClockProvider.INSTANCE); - } - - protected AbstractBooleanAssert assertThatValidation(C value) { - return assertThat(validator.isValid(value, validatorContext)); - } - -}