Explorar el Código

ValidateTypes class introduced

Andrew Grant hace 6 meses
padre
commit
d93671d4db

+ 8 - 8
src/main/java/scot/carricksoftware/grants/validators/certificates/BirthCertificateCommandPartOneValidator.java

@@ -12,7 +12,7 @@ import org.springframework.validation.BindingResult;
 import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
 import scot.carricksoftware.grants.constants.ApplicationConstants;
 import scot.carricksoftware.grants.constants.ValidationConstants;
-import scot.carricksoftware.grants.domains.people.Person;
+import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
 
 import java.time.LocalDate;
 
@@ -21,6 +21,12 @@ public class BirthCertificateCommandPartOneValidator {
 
     private static final Logger logger = LogManager.getLogger(BirthCertificateCommandPartOneValidator.class);
 
+    private final ValidateTypes validateTypes;
+
+    public BirthCertificateCommandPartOneValidator(ValidateTypes validateTypes) {
+        this.validateTypes = validateTypes;
+    }
+
     @SuppressWarnings("unused")
     public void validate(BirthCertificateCommand birthCertificateCommand, BindingResult bindingResult) {
         logger.debug("Validating birth certificate command (part one)");
@@ -37,15 +43,9 @@ public class BirthCertificateCommandPartOneValidator {
 
     private void validateNewBorn(BirthCertificateCommand birthCertificateCommand, BindingResult bindingResult) {
         logger.debug("Validating birth certificate newBorn");
-        validatePerson(birthCertificateCommand.getNewBorn(),"newBorn", ValidationConstants.NEWBORN_IS_NULL, bindingResult);
+        validateTypes.validatePerson(birthCertificateCommand.getNewBorn(),"newBorn", ValidationConstants.NEWBORN_IS_NULL, bindingResult);
     }
 
-    @SuppressWarnings("SameParameterValue")
-    private void validatePerson(Person person, String field, String message, BindingResult bindingResult) {
-        if (person == null ) {
-            bindingResult.rejectValue(field, ApplicationConstants.EMPTY_STRING, null, message);
-        }
-    }
 
     private void validateNullOrEmptyString(String string, @SuppressWarnings("SameParameterValue") String field, @SuppressWarnings("SameParameterValue") String message, BindingResult bindingResult) {
         if (string == null||string.isEmpty()) {

+ 21 - 0
src/main/java/scot/carricksoftware/grants/validators/helpers/ValidateTypes.java

@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.validators.helpers;
+
+import org.springframework.stereotype.Component;
+import org.springframework.validation.BindingResult;
+import scot.carricksoftware.grants.constants.ApplicationConstants;
+import scot.carricksoftware.grants.domains.people.Person;
+
+@Component
+public class ValidateTypes {
+
+    public void validatePerson(Person person, String field, String message, BindingResult bindingResult) {
+        if (person == null ) {
+            bindingResult.rejectValue(field, ApplicationConstants.EMPTY_STRING, null, message);
+        }
+    }
+}

+ 5 - 1
src/test/java/scot/carricksoftware/grants/validators/certificates/BirthCertificateCommandPartOneValidatorDateTest.java

@@ -16,6 +16,7 @@ import org.springframework.validation.BindingResult;
 import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
 import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommandImpl;
 import scot.carricksoftware.grants.enums.certificates.CertificateType;
+import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.verify;
@@ -39,9 +40,12 @@ class BirthCertificateCommandPartOneValidatorDateTest {
     @Mock
     BindingResult bindingResultMock;
 
+    ValidateTypes validateTypes;
+
     @BeforeEach
     void setUp() {
-        commandValidator = new BirthCertificateCommandPartOneValidator();
+        validateTypes = new ValidateTypes();
+        commandValidator = new BirthCertificateCommandPartOneValidator(validateTypes);
         stringArgumentCaptor = ArgumentCaptor.forClass(String.class);
         stringArgumentCaptor2 = ArgumentCaptor.forClass(String.class);
         stringArgumentCaptor3 = ArgumentCaptor.forClass(String.class);

+ 5 - 1
src/test/java/scot/carricksoftware/grants/validators/certificates/BirthCertificateCommandPartOneValidatorPersonTest.java

@@ -16,6 +16,7 @@ import org.springframework.validation.BindingResult;
 import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
 import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommandImpl;
 import scot.carricksoftware.grants.enums.certificates.CertificateType;
+import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.ArgumentMatchers.any;
@@ -40,9 +41,12 @@ class BirthCertificateCommandPartOneValidatorPersonTest {
     @Mock
     BindingResult bindingResultMock;
 
+    ValidateTypes validateTypes;
+
     @BeforeEach
     void setUp() {
-        commandValidator = new BirthCertificateCommandPartOneValidator();
+        validateTypes = new ValidateTypes();
+        commandValidator = new BirthCertificateCommandPartOneValidator(validateTypes);
         stringArgumentCaptor = ArgumentCaptor.forClass(String.class);
         stringArgumentCaptor2 = ArgumentCaptor.forClass(String.class);
         stringArgumentCaptor3 = ArgumentCaptor.forClass(String.class);

+ 6 - 1
src/test/java/scot/carricksoftware/grants/validators/certificates/BirthCertificateCommandValidatorPartOneTest.java

@@ -16,6 +16,7 @@ import org.springframework.validation.BindingResult;
 import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
 import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommandImpl;
 import scot.carricksoftware.grants.enums.certificates.CertificateType;
+import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.verify;
@@ -39,9 +40,12 @@ class BirthCertificateCommandValidatorPartOneTest {
     @Mock
     BindingResult bindingResultMock;
 
+    ValidateTypes validateTypes;
+
     @BeforeEach
     void setUp() {
-        commandValidator = new BirthCertificateCommandPartOneValidator();
+        validateTypes = new ValidateTypes();
+        commandValidator = new BirthCertificateCommandPartOneValidator(validateTypes);
         stringArgumentCaptor = ArgumentCaptor.forClass(String.class);
         stringArgumentCaptor2 = ArgumentCaptor.forClass(String.class);
         stringArgumentCaptor3 = ArgumentCaptor.forClass(String.class);
@@ -71,6 +75,7 @@ class BirthCertificateCommandValidatorPartOneTest {
 
     @Test
     public void certificateSourceTest() {
+
         birthCertificateCommand.setNewBorn(GetRandomPerson());
         birthCertificateCommand.setCertificateNumber(GetRandomString());
         birthCertificateCommand.setCertificateType(CertificateType.EXTRACT);