Andrew Grant преди 5 месеца
родител
ревизия
488ff46686
променени са 19 файла, в които са добавени 84 реда и са изтрити 1006 реда
  1. 6 2
      src/main/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartOneValidatorImpl.java
  2. 6 3
      src/main/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartThreeValidatorImpl.java
  3. 1 0
      src/main/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandValidator.java
  4. 18 0
      src/main/java/scot/carricksoftware/grants/validators/helpers/ValidateDateTypes.java
  5. 53 0
      src/main/java/scot/carricksoftware/grants/validators/helpers/ValidateDateTypesImpl.java
  6. 0 15
      src/main/java/scot/carricksoftware/grants/validators/helpers/ValidateTypes.java
  7. 0 69
      src/main/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesImpl.java
  8. 0 67
      src/test/java/scot/carricksoftware/grants/bootstrap/DataLoadOrganisationsTest.java
  9. 0 98
      src/test/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartOneValidatorTest.java
  10. 0 80
      src/test/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartThreeValidatorTest.java
  11. 0 67
      src/test/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartTwoValidatorTest.java
  12. 0 66
      src/test/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandValidatorTest.java
  13. 0 82
      src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTwoFieldTypesPersonAndUntrackedPersonTest.java
  14. 0 82
      src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesNonNegativeIntegerTest.java
  15. 0 58
      src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesNullOrEmptyTest.java
  16. 0 89
      src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesNullTest.java
  17. 0 73
      src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesPastDateAndTimeTest.java
  18. 0 73
      src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesPastDateTest.java
  19. 0 82
      src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesPlaceAndUntrackedPlaceTest.java

+ 6 - 2
src/main/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartOneValidatorImpl.java

@@ -11,6 +11,7 @@ import org.springframework.stereotype.Component;
 import org.springframework.validation.BindingResult;
 import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
 import scot.carricksoftware.grants.constants.ValidationConstants;
+import scot.carricksoftware.grants.validators.helpers.ValidateDateTypes;
 import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
 
 
@@ -21,8 +22,11 @@ public class BirthCertificateCommandPartOneValidatorImpl implements BirthCertifi
 
     private final ValidateTypes validateTypes;
 
-    public BirthCertificateCommandPartOneValidatorImpl(ValidateTypes validateTypes) {
+    private final ValidateDateTypes validateDateTypes;
+
+    public BirthCertificateCommandPartOneValidatorImpl(ValidateTypes validateTypes, ValidateDateTypes validateDateTypes) {
         this.validateTypes = validateTypes;
+        this.validateDateTypes = validateDateTypes;
     }
 
     @Override
@@ -60,7 +64,7 @@ public class BirthCertificateCommandPartOneValidatorImpl implements BirthCertifi
 
     private void validateCertificateDate(BirthCertificateCommand birthCertificateCommand, BindingResult bindingResult) {
         logger.debug("Validating birth certificate Certificate Date");
-        validateTypes.validatePastDate(birthCertificateCommand.getCertificateDate(),
+        validateDateTypes.validatePastDate(birthCertificateCommand.getCertificateDate(),
                 "certificateDate",
                 ValidationConstants.CERTIFICATE_DATE_IS_NULL,
                 ValidationConstants.DATE_IS_INVALID,

+ 6 - 3
src/main/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartThreeValidatorImpl.java

@@ -11,6 +11,7 @@ import org.springframework.stereotype.Component;
 import org.springframework.validation.BindingResult;
 import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
 import scot.carricksoftware.grants.constants.ValidationConstants;
+import scot.carricksoftware.grants.validators.helpers.ValidateDateTypes;
 import scot.carricksoftware.grants.validators.helpers.ValidateTwoFieldTypes;
 import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
 
@@ -22,10 +23,12 @@ public class BirthCertificateCommandPartThreeValidatorImpl implements BirthCerti
 
     private final ValidateTypes validateTypes;
     private final ValidateTwoFieldTypes validateTwoFieldTypes;
+    private final ValidateDateTypes validateDateTypes;
 
-    public BirthCertificateCommandPartThreeValidatorImpl(ValidateTypes validateTypes, ValidateTwoFieldTypes validateTwoFieldTypes) {
+    public BirthCertificateCommandPartThreeValidatorImpl(ValidateTypes validateTypes, ValidateTwoFieldTypes validateTwoFieldTypes, ValidateDateTypes validateDateTypes) {
         this.validateTypes = validateTypes;
         this.validateTwoFieldTypes = validateTwoFieldTypes;
+        this.validateDateTypes = validateDateTypes;
     }
 
     @Override
@@ -48,7 +51,7 @@ public class BirthCertificateCommandPartThreeValidatorImpl implements BirthCerti
 
     private void validateWhenBorn(BirthCertificateCommand birthCertificateCommand, BindingResult bindingResult) {
         logger.debug("Validating when born");
-        validateTypes.validatePastDateAndTime(birthCertificateCommand.getWhenBorn(),
+        validateDateTypes.validatePastDateAndTime(birthCertificateCommand.getWhenBorn(),
                 "whenBorn",
                 ValidationConstants.WHEN_BORN_IS_NULL,
                 ValidationConstants.WHEN_BORN_INCORRECT_FORMAT,
@@ -75,7 +78,7 @@ public class BirthCertificateCommandPartThreeValidatorImpl implements BirthCerti
 
     private void validateWhenRegistered(BirthCertificateCommand birthCertificateCommand, BindingResult bindingResult) {
         logger.debug("Validating birth certificate Registration Date");
-        validateTypes.validatePastDate(birthCertificateCommand.getWhenRegistered(),
+        validateDateTypes.validatePastDate(birthCertificateCommand.getWhenRegistered(),
                 "whenRegistered",
                 ValidationConstants.WHEN_REGISTERED_DATE_IS_NULL,
                 ValidationConstants.WHEN_REGISTERED_DATE_IS_INVALID,

+ 1 - 0
src/main/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandValidator.java

@@ -11,6 +11,7 @@ import scot.carricksoftware.grants.commands.certificates.birthcertificates.Birth
 
 public interface BirthCertificateCommandValidator {
 
+    @SuppressWarnings("unused")
     void validate(BirthCertificateCommand birthCertificateCommand, BindingResult bindingResult);
 }
 

+ 18 - 0
src/main/java/scot/carricksoftware/grants/validators/helpers/ValidateDateTypes.java

@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.validators.helpers;
+
+import org.springframework.validation.BindingResult;
+
+public interface ValidateDateTypes {
+
+    @SuppressWarnings({"unused", "EmptyMethod"})
+    void validatePastDate(String dateString, String fieldName, @SuppressWarnings("SameParameterValue") String nullMessage, String formatMessage, String pastMessage, BindingResult bindingResult);
+
+    @SuppressWarnings("EmptyMethod")
+    void validatePastDateAndTime(@SuppressWarnings("unused") String dateString, @SuppressWarnings("unused") String fieldName, @SuppressWarnings("unused") String nullMessage, @SuppressWarnings("unused") String formatMessage, @SuppressWarnings("unused") String pastMessage, @SuppressWarnings("unused") BindingResult bindingResult);
+
+}

+ 53 - 0
src/main/java/scot/carricksoftware/grants/validators/helpers/ValidateDateTypesImpl.java

@@ -0,0 +1,53 @@
+/*
+ * 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 java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+
+@Component
+public class ValidateDateTypesImpl implements ValidateDateTypes {
+
+    @Override
+    public void validatePastDate(String dateString, String fieldName, String nullMessage, String formatMessage, String pastMessage, BindingResult bindingResult) {
+        if (dateString == null || dateString.trim().isEmpty()) {
+            bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, nullMessage);
+        } else {
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern(ApplicationConstants.DATE_FORMAT);
+            try {
+                LocalDate date = LocalDate.parse(dateString, formatter);
+                if (date.isAfter(LocalDate.now())) {
+                    bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, pastMessage);
+                }
+            } catch (Exception e) {
+                bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, formatMessage);
+            }
+        }
+    }
+
+    @Override
+    public void validatePastDateAndTime(String dateString, String fieldName, String nullMessage, String formatMessage, String pastMessage, BindingResult bindingResult) {
+        if (dateString == null || dateString.trim().isEmpty()) {
+            bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, nullMessage);
+        } else {
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern(ApplicationConstants.DATE_TIME_FORMAT);
+            try {
+                LocalDate date = LocalDate.parse(dateString, formatter);
+                if (date.isAfter(LocalDate.now())) {
+                    bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, pastMessage);
+                }
+            } catch (Exception e) {
+                bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, formatMessage);
+            }
+        }
+    }
+
+
+}

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

@@ -8,7 +8,6 @@ package scot.carricksoftware.grants.validators.helpers;
 import org.springframework.validation.BindingResult;
 import scot.carricksoftware.grants.domains.people.Person;
 import scot.carricksoftware.grants.domains.places.Organisation;
-import scot.carricksoftware.grants.domains.places.Place;
 import scot.carricksoftware.grants.enums.general.Sex;
 import scot.carricksoftware.grants.enums.certificates.CertificateType;
 
@@ -23,22 +22,8 @@ public interface ValidateTypes {
 
     void validateNullOrEmptyString(String string, @SuppressWarnings("SameParameterValue") String field, @SuppressWarnings("SameParameterValue") String message, BindingResult bindingResult);
 
-    @SuppressWarnings({"unused", "EmptyMethod"})
-    void validatePastDate(String dateString, String fieldName, @SuppressWarnings("SameParameterValue") String nullMessage, String formatMessage, String pastMessage, BindingResult bindingResult);
-
     @SuppressWarnings({"unused", "EmptyMethod"})
     void validateNonNegativeInteger(String integerString, String fieldName, @SuppressWarnings("SameParameterValue") String nullMessage, String formatMessage, BindingResult bindingResult);
 
-    @SuppressWarnings("EmptyMethod")
-    void validatePastDateAndTime(@SuppressWarnings("unused") String dateString, @SuppressWarnings("unused") String fieldName, @SuppressWarnings("unused") String nullMessage, @SuppressWarnings("unused") String formatMessage, @SuppressWarnings("unused") String pastMessage, @SuppressWarnings("unused") BindingResult bindingResult);
-
-    @SuppressWarnings("EmptyMethod")
-    void validatePersonAndUntrackedPerson(Person person, String untrackedPerson, String personFieldName, String untrackedFieldName, String message,  BindingResult bindingResult);
-
-
-    @SuppressWarnings("EmptyMethod")
-    void validatePlaceAndUntrackedPlace(Place place, String untrackedPlace, String placeFieldName, String untrackedFieldName, String message, BindingResult bindingResult);
 
-    @SuppressWarnings("unused")
-    void validateOptionalPlaceAndUntrackedPlace(Place place, String untrackedPlace, String placeFieldName, String untrackedFieldName, String message, BindingResult bindingResult);
 }

+ 0 - 69
src/main/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesImpl.java

@@ -10,13 +10,9 @@ import org.springframework.validation.BindingResult;
 import scot.carricksoftware.grants.constants.ApplicationConstants;
 import scot.carricksoftware.grants.domains.people.Person;
 import scot.carricksoftware.grants.domains.places.Organisation;
-import scot.carricksoftware.grants.domains.places.Place;
 import scot.carricksoftware.grants.enums.general.Sex;
 import scot.carricksoftware.grants.enums.certificates.CertificateType;
 
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-
 @Component
 public class ValidateTypesImpl implements ValidateTypes {
 
@@ -55,23 +51,6 @@ public class ValidateTypesImpl implements ValidateTypes {
         }
     }
 
-    @Override
-    public void validatePastDate(String dateString, String fieldName, String nullMessage, String formatMessage, String pastMessage, BindingResult bindingResult) {
-        if (dateString == null || dateString.trim().isEmpty()) {
-            bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, nullMessage);
-        } else {
-            DateTimeFormatter formatter = DateTimeFormatter.ofPattern(ApplicationConstants.DATE_FORMAT);
-            try {
-                LocalDate date = LocalDate.parse(dateString, formatter);
-                if (date.isAfter(LocalDate.now())) {
-                    bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, pastMessage);
-                }
-            } catch (Exception e) {
-                bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, formatMessage);
-            }
-        }
-    }
-
     @Override
     public void validateNonNegativeInteger(String integerString, String fieldName, @SuppressWarnings("SameParameterValue") String nullMessage, String formatMessage, BindingResult bindingResult) {
         if (integerString == null || integerString.isEmpty()) {
@@ -88,55 +67,7 @@ public class ValidateTypesImpl implements ValidateTypes {
         }
     }
 
-    @Override
-    public void validatePastDateAndTime(String dateString, String fieldName, String nullMessage, String formatMessage, String pastMessage, BindingResult bindingResult) {
-        if (dateString == null || dateString.trim().isEmpty()) {
-            bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, nullMessage);
-        } else {
-            DateTimeFormatter formatter = DateTimeFormatter.ofPattern(ApplicationConstants.DATE_TIME_FORMAT);
-            try {
-                LocalDate date = LocalDate.parse(dateString, formatter);
-                if (date.isAfter(LocalDate.now())) {
-                    bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, pastMessage);
-                }
-            } catch (Exception e) {
-                bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, formatMessage);
-            }
-        }
-    }
-
-    @SuppressWarnings("DuplicatedCode")
-    @Override
-    public void validatePersonAndUntrackedPerson(Person person, String untrackedPerson, String personFieldName, String untrackedFieldName, String message, BindingResult bindingResult) {
-       boolean error = person == null && (untrackedPerson == null || untrackedPerson.trim().isEmpty());
-        if (!(person == null) && untrackedPerson != null &&  !(untrackedPerson.trim().isEmpty())) {
-            error = true;
-        }
-        if (error) {
-            bindingResult.rejectValue(personFieldName, ApplicationConstants.EMPTY_STRING, null, message);
-            bindingResult.rejectValue(untrackedFieldName, ApplicationConstants.EMPTY_STRING, null, message);
-        }
-    }
 
-    @SuppressWarnings("DuplicatedCode")
-    @Override
-    public void validatePlaceAndUntrackedPlace(Place place, String untrackedPlace, String placeFieldName, String untrackedFieldName, String message, BindingResult bindingResult) {
-        boolean error = place == null && (untrackedPlace == null || untrackedPlace.trim().isEmpty());
-        if (!(place == null) && untrackedPlace != null &&  !(untrackedPlace.trim().isEmpty())) {
-            error = true;
-        }
-        if (error) {
-            bindingResult.rejectValue(placeFieldName, ApplicationConstants.EMPTY_STRING, null, message);
-            bindingResult.rejectValue(untrackedFieldName, ApplicationConstants.EMPTY_STRING, null, message);
-        }
-    }
 
-    @Override
-    public void validateOptionalPlaceAndUntrackedPlace(Place place, String untrackedPlace, String placeFieldName, String untrackedFieldName, String message, BindingResult bindingResult) {
-        if (!(place == null) && untrackedPlace != null &&  !(untrackedPlace.trim().isEmpty())) {
-            bindingResult.rejectValue(placeFieldName, ApplicationConstants.EMPTY_STRING, null, message);
-            bindingResult.rejectValue(untrackedFieldName, ApplicationConstants.EMPTY_STRING, null, message);
-        }
-    }
 
 }

+ 0 - 67
src/test/java/scot/carricksoftware/grants/bootstrap/DataLoadOrganisationsTest.java

@@ -1,67 +0,0 @@
-package scot.carricksoftware.grants.bootstrap;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import scot.carricksoftware.grants.commands.places.organisations.OrganisationCommand;
-import scot.carricksoftware.grants.services.places.organisations.OrganisationService;
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.Mockito.atLeast;
-import static org.mockito.Mockito.verify;
-
-
-@ExtendWith(MockitoExtension.class)
-public class DataLoadOrganisationsTest {
-
-    private DataLoadOrganisations dataLoadOrganisations;
-
-    @Mock
-    private OrganisationService organisationServiceMock;
-
-    @BeforeEach
-    public void setup() {
-        dataLoadOrganisations = new DataLoadOrganisations(organisationServiceMock);
-    }
-
-    @Test
-    void certificateSourceIsCreated() {
-        ArgumentCaptor<OrganisationCommand> captor = ArgumentCaptor.forClass(OrganisationCommand.class);
-        dataLoadOrganisations.load();
-
-        verify(organisationServiceMock, atLeast(2)).saveOrganisationCommand(captor.capture());
-
-        List<OrganisationCommand> organisationCommands = captor.getAllValues();
-        boolean found = false;
-        for (OrganisationCommand organisationCommand : organisationCommands) {
-            if (organisationCommand.getName().equals("General Register Office For Scotland")) {
-                found = true;
-            }
-        }
-        assertTrue(found);
-    }
-
-    @Test
-    void registrationAuthorityIsCreated() {
-        ArgumentCaptor<OrganisationCommand> captor = ArgumentCaptor.forClass(OrganisationCommand.class);
-        dataLoadOrganisations.load();
-
-        verify(organisationServiceMock, atLeast(2)).saveOrganisationCommand(captor.capture());
-
-        List<OrganisationCommand> organisationCommands = captor.getAllValues();
-        boolean found = false;
-        for (OrganisationCommand organisationCommand : organisationCommands) {
-            if (organisationCommand.getName().equals("Registration Authority")) {
-                found = true;
-            }
-        }
-        assertTrue(found);
-    }
-
-
-}

+ 0 - 98
src/test/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartOneValidatorTest.java

@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.certificates.birthcertificate;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
-import scot.carricksoftware.grants.domains.people.Person;
-import scot.carricksoftware.grants.domains.places.Organisation;
-import scot.carricksoftware.grants.enums.certificates.CertificateType;
-import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static scot.carricksoftware.grants.GenerateCertificateRandomValues.GetRandomString;
-import static scot.carricksoftware.grants.GenerateGeneralRandomEnums.GetRandomCertificateType;
-
-@ExtendWith(MockitoExtension.class)
-class BirthCertificateCommandPartOneValidatorTest {
-
-    private BirthCertificateCommandPartOneValidator validator;
-
-    @Mock
-    private ValidateTypes validateTypesMock;
-
-
-    @Mock()
-    private BirthCertificateCommand birthCertificateCommandMock;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @BeforeEach
-    void setUp() {
-        validator = new BirthCertificateCommandPartOneValidatorImpl(validateTypesMock);
-    }
-
-    @Test
-    void validateNewBornTest() {
-        when(birthCertificateCommandMock.getNewBorn()).thenReturn(new Person());
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validatePerson(birthCertificateCommandMock.getNewBorn(), "newBorn", "The New Born cannot be null.", bindingResultMock);
-    }
-
-    @Test
-    void validateCertificateNumberTest() {
-        String string = GetRandomString();
-        when(birthCertificateCommandMock.getCertificateNumber()).thenReturn(string);
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validateNullOrEmptyString(string, "certificateNumber", "The certificate number cannot be null.", bindingResultMock);
-    }
-
-    @Test
-    void validateCertificateSourceTest() {
-        when(birthCertificateCommandMock.getCertificateSource()).thenReturn(new Organisation());
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validateOrganisation(birthCertificateCommandMock.getCertificateSource(), "certificateSource", "The certificate source cannot be null.", bindingResultMock);
-    }
-
-    @Test
-    void validateCertificateTypeTest() {
-        CertificateType certificateType = GetRandomCertificateType();
-        when(birthCertificateCommandMock.getCertificateType()).thenReturn(certificateType);
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validateCertificateType(certificateType, "certificateType", "The certificate type cannot be null.", bindingResultMock);
-    }
-
-    @Test
-    void validateCertificateDateTest() {
-        String string = GetRandomString();
-        when(birthCertificateCommandMock.getCertificateDate()).thenReturn(string);
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validatePastDate(
-                string,
-                "certificateDate",
-                "The certificate date cannot be null.",
-                "The certificate date is invalid or of the wrong format.",
-                "Date should not be in the future.",
-                bindingResultMock);
-    }
-
-    @Test
-    void MotherTest() {
-        Person mother = new Person();
-        when(birthCertificateCommandMock.getMother()).thenReturn(mother);
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validatePerson(mother, "mother", "The mother cannot be null.", bindingResultMock);
-    }
-
-
-}

+ 0 - 80
src/test/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartThreeValidatorTest.java

@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.certificates.birthcertificate;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
-import scot.carricksoftware.grants.enums.general.Sex;
-import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
-import scot.carricksoftware.grants.validators.helpers.ValidateTwoFieldTypes;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static scot.carricksoftware.grants.GenerateCertificateRandomValues.GetRandomString;
-
-@ExtendWith(MockitoExtension.class)
-class BirthCertificateCommandPartThreeValidatorTest {
-
-    private BirthCertificateCommandPartThreeValidator validator;
-
-    @Mock
-    private ValidateTypes validateTypesMock;
-
-    @Mock
-    private ValidateTwoFieldTypes validateTwoFieldsTypesMock;
-
-    @Mock()
-    BirthCertificateCommand birthCertificateCommandMock;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @BeforeEach
-    void setUp() {
-        validator = new BirthCertificateCommandPartThreeValidatorImpl(validateTypesMock, validateTwoFieldsTypesMock);
-    }
-
-    @Test
-    void validateSexTest() {
-        Sex sex = Sex.MALE;
-        when(birthCertificateCommandMock.getSex()).thenReturn(sex);
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validateSex(sex, "sex", "Sex cannot be null.", bindingResultMock);
-    }
-
-
-    @Test
-    void validateWhenBornTest() {
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validatePastDateAndTime(
-                birthCertificateCommandMock.getWhenBorn(),
-                "whenBorn",
-                "When born cannot be null.",
-                "The format should be dd/MM/yyyy hh:mm.",
-                "Date should not be in the future.",
-                bindingResultMock);
-    }
-
-    @Test
-    void validateRegisteredDateTest() {
-        String string = GetRandomString();
-        when(birthCertificateCommandMock.getWhenRegistered()).thenReturn(string);
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validatePastDate(
-                string,
-                "whenRegistered",
-                "When registered cannot be null.",
-                "When registered date is invalid.",
-                "Date should not be in the future.",
-                bindingResultMock);
-    }
-
-}

+ 0 - 67
src/test/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartTwoValidatorTest.java

@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.certificates.birthcertificate;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
-import scot.carricksoftware.grants.domains.places.Organisation;
-import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static scot.carricksoftware.grants.GenerateCertificateRandomValues.GetRandomString;
-import static scot.carricksoftware.grants.GenerateRandomPlaceValues.GetRandomOrganisation;
-
-
-@ExtendWith(MockitoExtension.class)
-class BirthCertificateCommandPartTwoValidatorTest {
-
-    private BirthCertificateCommandPartTwoValidator validator;
-
-    @Mock
-    private ValidateTypes validateTypesMock;
-
-    @Mock()
-    BirthCertificateCommand birthCertificateCommandMock;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @BeforeEach
-    void setUp() {
-        validator = new BirthCertificateCommandPartTwoValidatorImpl(validateTypesMock);
-    }
-
-    @Test
-    void validateRegistrationNumberTest() {
-        String number = GetRandomString();
-        when(birthCertificateCommandMock.getNumber()).thenReturn(number);
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validateNonNegativeInteger(number, "number", "The number cannot be null.", "The number must be a non negative integer.", bindingResultMock);
-    }
-
-    @Test
-    void validateVolumeTest() {
-        String number = GetRandomString();
-        when(birthCertificateCommandMock.getVolume()).thenReturn(number);
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validateNullOrEmptyString(number, "volume", "The volume cannot be null.", bindingResultMock);
-    }
-
-    @Test
-    void validateRegistrationAuthorityTest() {
-        Organisation organisation = GetRandomOrganisation();
-        when(birthCertificateCommandMock.getRegistrationAuthority()).thenReturn(organisation);
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validateOrganisation(organisation, "certificateSource", "The registration authority cannot be null.", bindingResultMock);
-    }
-
-}

+ 0 - 66
src/test/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandValidatorTest.java

@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.certificates.birthcertificate;
-
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
-
-import static org.mockito.Mockito.verify;
-
-@ExtendWith(MockitoExtension.class)
-class BirthCertificateCommandValidatorTest {
-
-    private BirthCertificateCommandValidator commandValidator;
-
-    @Mock
-    private BirthCertificateCommandPartOneValidator partOneValidatorMock;
-
-    @Mock
-    private BirthCertificateCommandPartTwoValidator partTwoValidatorMock;
-
-    @Mock
-    private BirthCertificateCommandPartThreeValidator partThreeValidatorMock;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @Mock
-    private BirthCertificateCommand birthCertificateCommandMock;
-
-    @BeforeEach
-    void setUp() {
-        commandValidator = new BirthCertificateCommandValidatorImpl(
-                partOneValidatorMock,
-                partTwoValidatorMock,
-                partThreeValidatorMock);
-    }
-
-    @Test
-    public void partOneIsCalledTest() {
-        commandValidator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(partOneValidatorMock).validate(birthCertificateCommandMock, bindingResultMock);
-    }
-
-    @Test
-    public void partTwoIsCalledTest() {
-        commandValidator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(partTwoValidatorMock).validate(birthCertificateCommandMock, bindingResultMock);
-    }
-
-    @Test
-    public void partThreeIsCalledTest() {
-        commandValidator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(partThreeValidatorMock).validate(birthCertificateCommandMock, bindingResultMock);
-    }
-
-
-}

+ 0 - 82
src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTwoFieldTypesPersonAndUntrackedPersonTest.java

@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.helpers;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.constants.ApplicationConstants;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
-import static scot.carricksoftware.grants.GenerateCertificateRandomValues.GetRandomString;
-import static scot.carricksoftware.grants.GenerateRandomPeopleValues.GetRandomPerson;
-
-
-@ExtendWith(MockitoExtension.class)
-class ValidateTwoFieldTypesPersonAndUntrackedPersonTest {
-
-    private ValidateTypes validateTwoTypes;
-
-    private String untrackedPersonField;
-    private String personField;
-    private String message;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @BeforeEach
-    void setUp() {
-        validateTwoTypes = new ValidateTypesImpl();
-        untrackedPersonField = "untrackedPerson";
-        personField = "person";
-        message = GetRandomString();
-    }
-
-    @Test
-    void bothNullTest() {
-        validateTwoTypes.validatePersonAndUntrackedPerson(null, null, personField, untrackedPersonField, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(personField, ApplicationConstants.EMPTY_STRING, null, message);
-        verify(bindingResultMock).rejectValue(untrackedPersonField, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void nullAndEmptyTest() {
-        validateTwoTypes.validatePersonAndUntrackedPerson(null, "  ", personField, untrackedPersonField, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(personField, ApplicationConstants.EMPTY_STRING, null, message);
-        verify(bindingResultMock).rejectValue(untrackedPersonField, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void bothFullTest() {
-        validateTwoTypes.validatePersonAndUntrackedPerson(GetRandomPerson(), GetRandomString(), personField, untrackedPersonField, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(personField, ApplicationConstants.EMPTY_STRING, null, message);
-        verify(bindingResultMock).rejectValue(untrackedPersonField, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void fullPersonAndNullUntrackedTest() {
-        validateTwoTypes.validatePersonAndUntrackedPerson(GetRandomPerson(), null, personField, untrackedPersonField, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void fullPersonAndEmptyUntrackedTest() {
-        validateTwoTypes.validatePersonAndUntrackedPerson(GetRandomPerson(), "  ", personField, untrackedPersonField, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void nullPersonAndFullUntrackedTest() {
-        validateTwoTypes.validatePersonAndUntrackedPerson(null, GetRandomString(), personField, untrackedPersonField, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-
-}

+ 0 - 82
src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesNonNegativeIntegerTest.java

@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.helpers;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.constants.ApplicationConstants;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
-
-
-@ExtendWith(MockitoExtension.class)
-class ValidateTypesNonNegativeIntegerTest {
-
-    private ValidateTypes validateTypes;
-
-    private String field;
-    private String nullMessage;
-    private String formatMessage;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @BeforeEach
-    void setUp() {
-        validateTypes = new ValidateTypesImpl();
-        field = "field";
-        nullMessage = "null-message";
-        formatMessage = "format-message";
-    }
-
-    @Test
-    void invalidIntegerTest() {
-        validateTypes.validateNonNegativeInteger("ccc", field, nullMessage, formatMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, formatMessage);
-    }
-
-    @Test
-    void validIntegerTest() {
-        validateTypes.validateNonNegativeInteger("15", field, nullMessage, formatMessage, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void realTest() {
-        validateTypes.validateNonNegativeInteger("3.14", field, nullMessage, formatMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, formatMessage);
-    }
-
-    @Test
-    void zeroTest() {
-        validateTypes.validateNonNegativeInteger("0", field, nullMessage, formatMessage, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void negativeTest() {
-        validateTypes.validateNonNegativeInteger("-1", field, nullMessage, formatMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, formatMessage);
-    }
-
-    @Test
-    void nullTest() {
-        validateTypes.validateNonNegativeInteger(null, field, nullMessage, formatMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, nullMessage);
-    }
-
-    @Test
-    void emptyTest() {
-        validateTypes.validateNonNegativeInteger("", field, nullMessage, formatMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, nullMessage);
-    }
-
-}

+ 0 - 58
src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesNullOrEmptyTest.java

@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.helpers;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.constants.ApplicationConstants;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
-import static scot.carricksoftware.grants.GenerateCertificateRandomValues.GetRandomString;
-
-
-@ExtendWith(MockitoExtension.class)
-class ValidateTypesNullOrEmptyTest {
-
-    private ValidateTypes validateTypes;
-
-    private String field;
-    private String message;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @BeforeEach
-    void setUp() {
-        validateTypes = new ValidateTypesImpl();
-        field = "field";
-        message = "message";
-    }
-
-    @Test
-    void nullTest() {
-        validateTypes.validateNullOrEmptyString(null, field, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void emptyTest() {
-        validateTypes.validateNullOrEmptyString(" ", field, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void nonNullTest() {
-        validateTypes.validateNullOrEmptyString(GetRandomString(), field, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-
-}

+ 0 - 89
src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesNullTest.java

@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.helpers;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.constants.ApplicationConstants;
-import scot.carricksoftware.grants.domains.people.Person;
-import scot.carricksoftware.grants.domains.places.Organisation;
-import scot.carricksoftware.grants.enums.general.Sex;
-import scot.carricksoftware.grants.enums.certificates.CertificateType;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
-
-
-@ExtendWith(MockitoExtension.class)
-class ValidateTypesNullTest {
-
-    private ValidateTypes validateTypes;
-
-    private String field;
-    private String message;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @BeforeEach
-    void setUp() {
-        validateTypes = new ValidateTypesImpl();
-        field = "field";
-        message = "message";
-    }
-
-    @Test
-    void nullPersonTest() {
-        validateTypes.validatePerson(null, field, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void nonNullPersonTest() {
-        validateTypes.validatePerson(new Person(), field, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void nullOrganisationTest() {
-        validateTypes.validateOrganisation(null, field, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void nonNullOrganisationTest() {
-        validateTypes.validateOrganisation(new Organisation(), field, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void nullSexTest() {
-        validateTypes.validateSex(null, field, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void nonNullSexTest() {
-        validateTypes.validateSex(Sex.MALE, field, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void nullCertificateTypeTest() {
-        validateTypes.validateCertificateType(null, field, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void nonNullCertificateTypeTest() {
-        validateTypes.validateCertificateType(CertificateType.EXTRACT, field, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-}

+ 0 - 73
src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesPastDateAndTimeTest.java

@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.helpers;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.constants.ApplicationConstants;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
-
-
-@ExtendWith(MockitoExtension.class)
-class ValidateTypesPastDateAndTimeTest {
-
-    private ValidateTypes validateTypes;
-
-    private String field;
-    private String nullMessage;
-    private String formatMessage;
-    private String pastMessage;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @BeforeEach
-    void setUp() {
-        validateTypes = new ValidateTypesImpl();
-        field = "field";
-        nullMessage = "null-message";
-        formatMessage = "format-message";
-        pastMessage = "past-message";
-    }
-
-    @Test
-    void inValidTest() {
-        validateTypes.validatePastDateAndTime("xx", field, nullMessage, formatMessage, pastMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, formatMessage);
-    }
-
-    @Test
-    void validTest() {
-        validateTypes.validatePastDateAndTime("25/01/1953 03:24", field, nullMessage, formatMessage, pastMessage, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void nullTest() {
-        validateTypes.validatePastDateAndTime(null, field, nullMessage, formatMessage, pastMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, nullMessage);
-    }
-
-    @Test
-    void emptyTest() {
-        validateTypes.validatePastDateAndTime("  ", field, nullMessage, formatMessage, pastMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, nullMessage);
-    }
-
-    @Test
-    void pastTest() {
-        validateTypes.validatePastDateAndTime("25/01/2053 06:54", field, nullMessage, formatMessage, pastMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, pastMessage);
-    }
-
-
-}

+ 0 - 73
src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesPastDateTest.java

@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.helpers;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.constants.ApplicationConstants;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
-
-
-@ExtendWith(MockitoExtension.class)
-class ValidateTypesPastDateTest {
-
-    private ValidateTypes validateTypes;
-
-    private String field;
-    private String nullMessage;
-    private String formatMessage;
-    private String pastMessage;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @BeforeEach
-    void setUp() {
-        validateTypes = new ValidateTypesImpl();
-        field = "field";
-        nullMessage = "null-message";
-        formatMessage = "format-message";
-        pastMessage = "past-message";
-    }
-
-    @Test
-    void inValidTest() {
-        validateTypes.validatePastDate("xx", field, nullMessage, formatMessage, pastMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, formatMessage);
-    }
-
-    @Test
-    void validTest() {
-        validateTypes.validatePastDate("25/01/1953", field, nullMessage, formatMessage, pastMessage, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void nullTest() {
-        validateTypes.validatePastDate(null, field, nullMessage, formatMessage, pastMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, nullMessage);
-    }
-
-    @Test
-    void emptyTest() {
-        validateTypes.validatePastDate("  ", field, nullMessage, formatMessage, pastMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, nullMessage);
-    }
-
-    @Test
-    void pastTest() {
-        validateTypes.validatePastDate("25/01/2053", field, nullMessage, formatMessage, pastMessage, bindingResultMock);
-        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, pastMessage);
-    }
-
-
-}

+ 0 - 82
src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesPlaceAndUntrackedPlaceTest.java

@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grants.validators.helpers;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.validation.BindingResult;
-import scot.carricksoftware.grants.constants.ApplicationConstants;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
-import static scot.carricksoftware.grants.GenerateCertificateRandomValues.GetRandomString;
-import static scot.carricksoftware.grants.GenerateRandomPlaceValues.GetRandomPlace;
-
-
-@ExtendWith(MockitoExtension.class)
-class ValidateTypesPlaceAndUntrackedPlaceTest {
-
-    private ValidateTypes validateTypes;
-
-    private String untrackedPlaceField;
-    private String placeField;
-    private String message;
-
-    @Mock
-    private BindingResult bindingResultMock;
-
-    @BeforeEach
-    void setUp() {
-        validateTypes = new ValidateTypesImpl();
-        untrackedPlaceField = "untrackedWhereBorn";
-        placeField = "whereBorn";
-        message = GetRandomString();
-    }
-
-    @Test
-    void bothNullTest() {
-        validateTypes.validatePlaceAndUntrackedPlace(null, null, placeField, untrackedPlaceField, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(placeField, ApplicationConstants.EMPTY_STRING, null, message);
-        verify(bindingResultMock).rejectValue(untrackedPlaceField, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void nullAndEmptyTest() {
-        validateTypes.validatePlaceAndUntrackedPlace(null, "  ", placeField, untrackedPlaceField, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(placeField, ApplicationConstants.EMPTY_STRING, null, message);
-        verify(bindingResultMock).rejectValue(untrackedPlaceField, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void bothFullTest() {
-        validateTypes.validatePlaceAndUntrackedPlace(GetRandomPlace(), GetRandomString(), placeField, untrackedPlaceField, message, bindingResultMock);
-        verify(bindingResultMock).rejectValue(placeField, ApplicationConstants.EMPTY_STRING, null, message);
-        verify(bindingResultMock).rejectValue(untrackedPlaceField, ApplicationConstants.EMPTY_STRING, null, message);
-    }
-
-    @Test
-    void fullPersonAndNullUntrackedTest() {
-        validateTypes.validatePlaceAndUntrackedPlace(GetRandomPlace(), null, placeField, untrackedPlaceField, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void fullPersonAndEmptyUntrackedTest() {
-        validateTypes.validatePlaceAndUntrackedPlace(GetRandomPlace(), "  ", placeField, untrackedPlaceField, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-    @Test
-    void nullPersonAndFullUntrackedTest() {
-        validateTypes.validatePlaceAndUntrackedPlace(null, GetRandomString(), placeField, untrackedPlaceField, message, bindingResultMock);
-        verifyNoInteractions(bindingResultMock);
-    }
-
-
-}