Explorar el Código

Birth Certificate Validation (2)

Andrew Grant hace 5 meses
padre
commit
d3a167e3bb

+ 25 - 9
src/test/java/scot/carricksoftware/grants/validators/certificates/birthcertificate/BirthCertificateCommandPartThreeValidatorTest.java

@@ -13,6 +13,7 @@ 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.Place;
 import scot.carricksoftware.grants.enums.general.Sex;
 import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
 
@@ -20,6 +21,7 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 import static scot.carricksoftware.grants.GenerateCertificateRandomValues.GetRandomString;
 import static scot.carricksoftware.grants.GenerateRandomPeopleValues.GetRandomPerson;
+import static scot.carricksoftware.grants.GenerateRandomPlaceValues.GetRandomPlace;
 
 @ExtendWith(MockitoExtension.class)
 class BirthCertificateCommandPartThreeValidatorTest {
@@ -48,14 +50,6 @@ class BirthCertificateCommandPartThreeValidatorTest {
         verify(validateTypesMock).validateSex(sex, "sex", "Sex cannot be null.", bindingResultMock);
     }
 
-    @Test
-    void validateWhenBornTest() {
-        String whenBorn = GetRandomString();
-        when(birthCertificateCommandMock.getWhenBorn()).thenReturn(whenBorn);
-        validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validatePastDateAndTime(whenBorn, "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 validateFatherAndUntrackedFatherTest() {
         String untrackedFather = GetRandomString();
@@ -63,8 +57,30 @@ class BirthCertificateCommandPartThreeValidatorTest {
         when(birthCertificateCommandMock.getUntrackedFather()).thenReturn(untrackedFather);
         when(birthCertificateCommandMock.getFather()).thenReturn(father);
         validator.validate(birthCertificateCommandMock, bindingResultMock);
-        verify(validateTypesMock).validatePersonAndUntrackedPerson(father, untrackedFather, "father", "untrackedFather", "One and only one father and untracked father must be specified.", bindingResultMock);
+        verify(validateTypesMock).validatePersonAndUntrackedPerson(
+                father,
+                untrackedFather,
+                "father",
+                "untrackedFather",
+                "One and only one father and untracked father must be specified.",
+                bindingResultMock);
     }
 
+        @Test
+        void validateWhereBornAndUntrackedWhereBornTest() {
+            String untrackedWhereBorn = GetRandomString();
+            Place whereBorn = GetRandomPlace();
+            when(birthCertificateCommandMock.getUntrackedWhereBorn()).thenReturn(untrackedWhereBorn);
+            when(birthCertificateCommandMock.getWhereBorn()).thenReturn(whereBorn);
+            validator.validate(birthCertificateCommandMock, bindingResultMock);
+            verify(validateTypesMock).validatePlaceAndUntrackedPlace(
+                    whereBorn,
+                    untrackedWhereBorn,
+                    "whereBorn",
+                    "untrackedWhereBorn",
+                    "One and only one where born and untracked where born must be specified.",
+                    bindingResultMock);
+        }
+
 
 }