Quellcode durchsuchen

BirthCertificate is created test

Andrew Grant vor 5 Monaten
Ursprung
Commit
594754fcde
12 geänderte Dateien mit 127 neuen und 19 gelöschten Zeilen
  1. 3 3
      src/main/java/scot/carricksoftware/grants/bootstrap/DataLoadCertificates.java
  2. 6 1
      src/main/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerImpl.java
  3. 13 0
      src/main/java/scot/carricksoftware/grants/services/certificates/birthcertificates/UpdateCertifiedYearOfBirth.java
  4. 66 0
      src/main/java/scot/carricksoftware/grants/services/certificates/birthcertificates/UpdateCertifiedYearOfBirthImpl.java
  5. 12 8
      src/test/java/scot/carricksoftware/grants/bootstrap/DataLoadCertificatesBirthCertificatesTest.java
  6. 6 1
      src/test/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerCapitalisationTest.java
  7. 6 1
      src/test/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerSaveOrUpdateTest.java
  8. 6 1
      src/test/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerTest.java
  9. 6 1
      src/test/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerValidationTest.java
  10. 1 1
      src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateCertifiedYearOfBirthFailingTest.java
  11. 1 1
      src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateCertifiedYearOfBirthPassingTest.java
  12. 1 1
      src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateCertifiedYearOfBirthViaBirthYearTest.java

+ 3 - 3
src/main/java/scot/carricksoftware/grants/bootstrap/DataLoadCertificates.java

@@ -57,10 +57,10 @@ public class DataLoadCertificates {
         birthCertificateCommand.setCertificateDate("25/01/1953");
         birthCertificateCommand.setCertificateType(CertificateType.EXTRACT);
 
-        birthCertificateCommand.setRegistrationAuthority(organisationService.findByName("Registration Authority"));
+        birthCertificateCommand.setRegistrationAuthority(organisationService.findById(2L));
         birthCertificateCommand.setVolume("01");
         birthCertificateCommand.setNumber("02");
-        birthCertificateCommand.setCertificateSource(organisationService.findByName("Certificate Source"));
+        birthCertificateCommand.setCertificateSource(organisationService.findById(1L));
 
         birthCertificateCommand.setNewBorn(personService.findById(3L));
         birthCertificateCommand.setSex(Sex.MALE);
@@ -74,7 +74,7 @@ public class DataLoadCertificates {
         birthCertificateCommand.setInformant(personService.findById(1L));
         birthCertificateCommand.setUntrackedInformant("Untracked Informant");
         birthCertificateCommand.setInformantQualification("Qualification");
-        birthCertificateCommand.setWhenRegistered("When Registered");
+        birthCertificateCommand.setWhenRegistered("22/01/1978");
         birthCertificateCommand.setWhereRegistered("Where Registered");
 
         birthCertificateService.saveBirthCertificateCommand(birthCertificateCommand);

+ 6 - 1
src/main/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerImpl.java

@@ -25,6 +25,7 @@ import scot.carricksoftware.grants.constants.ViewConstants;
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateCommandConverterImpl;
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateConverterImpl;
 import scot.carricksoftware.grants.services.certificates.birthcertificates.BirthCertificateService;
+import scot.carricksoftware.grants.services.certificates.birthcertificates.UpdateCertifiedYearOfBirth;
 import scot.carricksoftware.grants.services.people.PersonService;
 import scot.carricksoftware.grants.services.places.organisations.OrganisationService;
 import scot.carricksoftware.grants.services.places.places.PlaceService;
@@ -44,6 +45,7 @@ public class BirthCertificateFormControllerImpl implements BirthCertificateFormC
     private final PlaceService placeService;
     private final OrganisationService organisationService;
     private final CapitaliseBirthCertificate capitaliseBirthCertificate;
+    private final UpdateCertifiedYearOfBirth updateCertifiedYearOfBirth;
 
 
     public BirthCertificateFormControllerImpl(BirthCertificateService birthCertificateService,
@@ -53,7 +55,8 @@ public class BirthCertificateFormControllerImpl implements BirthCertificateFormC
                                               PersonService personService,
                                               PlaceService placeService,
                                               OrganisationService organisationService,
-                                              CapitaliseBirthCertificate capitaliseBirthCertificate) {
+                                              CapitaliseBirthCertificate capitaliseBirthCertificate,
+                                              UpdateCertifiedYearOfBirth updateCertifiedYearOfBirth) {
         this.birthCertificateService = birthCertificateService;
         this.birthCertificateCommandConverter = birthCertificateCommandConverter;
 
@@ -64,6 +67,7 @@ public class BirthCertificateFormControllerImpl implements BirthCertificateFormC
         this.placeService = placeService;
         this.organisationService = organisationService;
         this.capitaliseBirthCertificate = capitaliseBirthCertificate;
+        this.updateCertifiedYearOfBirth = updateCertifiedYearOfBirth;
     }
 
     @SuppressWarnings("SameReturnValue")
@@ -109,6 +113,7 @@ public class BirthCertificateFormControllerImpl implements BirthCertificateFormC
         }
 
         BirthCertificateCommand savedCommand = birthCertificateService.saveBirthCertificateCommand(birthCertificateCommand);
+        updateCertifiedYearOfBirth.updateCertifiedYearOfBirth(savedCommand);
         model.addAttribute(AttributeConstants.BIRTH_CERTIFICATE_COMMAND, savedCommand);
         model.addAttribute(AttributeConstants.PEOPLE, personService.findAll());
         model.addAttribute(AttributeConstants.PLACES, placeService.findAll());

+ 13 - 0
src/main/java/scot/carricksoftware/grants/services/certificates/birthcertificates/UpdateCertifiedYearOfBirth.java

@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.services.certificates.birthcertificates;
+
+import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
+
+public interface UpdateCertifiedYearOfBirth {
+
+    void updateCertifiedYearOfBirth(BirthCertificateCommand birthCertificateCommand);
+}

+ 66 - 0
src/main/java/scot/carricksoftware/grants/services/certificates/birthcertificates/UpdateCertifiedYearOfBirthImpl.java

@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.services.certificates.birthcertificates;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.stereotype.Component;
+import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
+import scot.carricksoftware.grants.commands.people.PersonCommand;
+import scot.carricksoftware.grants.converters.people.PersonConverter;
+import scot.carricksoftware.grants.domains.people.Person;
+import scot.carricksoftware.grants.services.people.PersonService;
+
+import static java.util.Objects.isNull;
+
+@Component
+public class UpdateCertifiedYearOfBirthImpl implements UpdateCertifiedYearOfBirth {
+
+    private static final Logger logger = LogManager.getLogger(UpdateCertifiedYearOfBirthImpl.class);
+    private final PersonService personService;
+    private final PersonConverter personConverter;
+
+    public UpdateCertifiedYearOfBirthImpl(PersonConverter personConverter,
+                                          PersonService personService) {
+        this.personService = personService;
+        this.personConverter = personConverter;
+    }
+
+
+    @Override
+    public void updateCertifiedYearOfBirth(BirthCertificateCommand birthCertificateCommand) {
+        logger.debug("UpdateCertifiedYearOfBirthImpl::updateRecordedYearOfBirth");
+        Person person = birthCertificateCommand.getNewBorn();
+        if (!isNull(person)) {
+           String certifiedYearOfBirth = getYearOfBirth(birthCertificateCommand.getWhenBorn());
+           updateDate(person, certifiedYearOfBirth);
+        }
+    }
+
+    private String getYearOfBirth(String whenBorn) {
+        logger.debug("UpdateRecordedYearOfBirthImpl::GetYearOfBirth");
+        return whenBorn.substring(6, 10);
+    }
+
+    private void updateDate(Person person,
+                            String certifiedYearOfBirth) {
+        logger.debug("UpdateRecordedYearOfBirthImpl::UpdateDate");
+        PersonCommand personCommand = personConverter.convert(person);
+        if (personCommand != null) {
+            personCommand.setCertifiedYearOfBirth(certifiedYearOfBirth);
+            personService.savePersonCommand(personCommand);
+        } else {
+            logNoCommandError();
+        }
+    }
+
+    private void logNoCommandError() {
+        throw new NullPointerException("Person Command is null.");
+    }
+
+
+
+}

+ 12 - 8
src/test/java/scot/carricksoftware/grants/bootstrap/DataLoadCertificatesBirthCertificatesTest.java

@@ -56,14 +56,16 @@ public class DataLoadCertificatesBirthCertificatesTest {
     private Place placeMock;
 
     @Mock
-    private Organisation registrationAuthorityMock;
+    private Organisation certificateSourceMock;
 
     @Mock
-    private Organisation certificateSourceMock;
+    private Organisation registrationAuthorityMock;
+
 
     @BeforeEach
     public void setup() {
-        dataLoadCertificates = new DataLoadCertificates(organisationServiceMock,
+        dataLoadCertificates = new DataLoadCertificates(
+                organisationServiceMock,
                 birthCertificateServiceMock,
                 personServiceMock,
                 placeServiceMock,
@@ -77,8 +79,10 @@ public class DataLoadCertificatesBirthCertificatesTest {
         when(personServiceMock.findById(2L)).thenReturn(motherMock);
         when(personServiceMock.findById(3L)).thenReturn(newBornMock);
         when(placeServiceMock.findById(1L)).thenReturn(placeMock);
-        when(organisationServiceMock.findByName("Registration Authority")).thenReturn(registrationAuthorityMock);
-        when(organisationServiceMock.findByName("Certificate Source")).thenReturn(certificateSourceMock);
+        when(certificateSourceMock.getName()).thenReturn("Source");
+        when(registrationAuthorityMock.getName()).thenReturn("Authority");
+        when(organisationServiceMock.findById(1L)).thenReturn(certificateSourceMock);
+        when(organisationServiceMock.findById(2L)).thenReturn(registrationAuthorityMock);
 
 
         dataLoadCertificates.load();
@@ -87,10 +91,10 @@ public class DataLoadCertificatesBirthCertificatesTest {
         assertEquals("999", captor.getValue().getCertificateNumber());
         assertEquals("25/01/1953", captor.getValue().getCertificateDate());
         assertEquals(CertificateType.EXTRACT, captor.getValue().getCertificateType());
-        assertEquals(registrationAuthorityMock, captor.getValue().getRegistrationAuthority());
+        assertEquals("Authority", captor.getValue().getRegistrationAuthority().getName());
         assertEquals("01", captor.getValue().getVolume());
         assertEquals("02", captor.getValue().getNumber());
-        assertEquals(certificateSourceMock, captor.getValue().getCertificateSource());
+        assertEquals("Source", captor.getValue().getCertificateSource().getName());
         assertEquals(newBornMock, captor.getValue().getNewBorn());
         assertEquals(Sex.MALE, captor.getValue().getSex());
         assertEquals("25/01/1953 01:01", captor.getValue().getWhenBorn());
@@ -103,7 +107,7 @@ public class DataLoadCertificatesBirthCertificatesTest {
         assertEquals("Untracked Informant", captor.getValue().getUntrackedInformant());
         assertEquals("Qualification", captor.getValue().getInformantQualification());
         assertEquals("Where Registered", captor.getValue().getWhereRegistered());
-        assertEquals("When Registered", captor.getValue().getWhenRegistered());
+        assertEquals("22/01/1978", captor.getValue().getWhenRegistered());
 
     }
 

+ 6 - 1
src/test/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerCapitalisationTest.java

@@ -19,6 +19,7 @@ import scot.carricksoftware.grants.commands.certificates.birthcertificates.Birth
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateCommandConverterImpl;
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateConverterImpl;
 import scot.carricksoftware.grants.services.certificates.birthcertificates.BirthCertificateService;
+import scot.carricksoftware.grants.services.certificates.birthcertificates.UpdateCertifiedYearOfBirth;
 import scot.carricksoftware.grants.services.people.PersonService;
 import scot.carricksoftware.grants.services.places.organisations.OrganisationService;
 import scot.carricksoftware.grants.services.places.places.PlaceService;
@@ -62,6 +63,9 @@ public class BirthCertificateFormControllerCapitalisationTest {
     @Mock
     private BirthCertificateCommandValidatorImpl birthCertificateCommandValidatorImplMock;
 
+    @Mock
+    private UpdateCertifiedYearOfBirth updateCertifiedYearOfBirthMock;
+
     @Mock
     private Model modelMock;
 
@@ -75,7 +79,8 @@ public class BirthCertificateFormControllerCapitalisationTest {
                 personServiceMock,
                 placeServiceMock,
                 organisationServiceMock,
-                capitaliseBirthCertificateMock);
+                capitaliseBirthCertificateMock,
+                updateCertifiedYearOfBirthMock);
     }
 
 

+ 6 - 1
src/test/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerSaveOrUpdateTest.java

@@ -18,6 +18,7 @@ import scot.carricksoftware.grants.commands.certificates.birthcertificates.Birth
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateCommandConverterImpl;
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateConverterImpl;
 import scot.carricksoftware.grants.services.certificates.birthcertificates.BirthCertificateService;
+import scot.carricksoftware.grants.services.certificates.birthcertificates.UpdateCertifiedYearOfBirth;
 import scot.carricksoftware.grants.services.people.PersonService;
 import scot.carricksoftware.grants.services.places.organisations.OrganisationService;
 import scot.carricksoftware.grants.services.places.places.PlaceService;
@@ -64,6 +65,9 @@ public class BirthCertificateFormControllerSaveOrUpdateTest {
     @Mock
     private BirthCertificateCommandValidatorImpl birthCertificateCommandValidatorImplMock;
 
+    @Mock
+    private UpdateCertifiedYearOfBirth updateCertifiedYearOfBirthMock;
+
     private BirthCertificateCommand birthCertificateCommand;
 
     @BeforeEach
@@ -75,7 +79,8 @@ public class BirthCertificateFormControllerSaveOrUpdateTest {
                 personServiceMock,
                 placeServiceMock,
                 organisationServiceMock,
-                capitaliseBirthCertificateMock);
+                capitaliseBirthCertificateMock,
+                updateCertifiedYearOfBirthMock);
         birthCertificateCommand = new BirthCertificateCommandImpl();
     }
 

+ 6 - 1
src/test/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerTest.java

@@ -20,6 +20,7 @@ import scot.carricksoftware.grants.converters.certificates.birthcertificates.Bir
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateConverterImpl;
 import scot.carricksoftware.grants.domains.certificates.BirthCertificate;
 import scot.carricksoftware.grants.services.certificates.birthcertificates.BirthCertificateService;
+import scot.carricksoftware.grants.services.certificates.birthcertificates.UpdateCertifiedYearOfBirth;
 import scot.carricksoftware.grants.services.people.PersonService;
 import scot.carricksoftware.grants.services.places.organisations.OrganisationService;
 import scot.carricksoftware.grants.services.places.places.PlaceService;
@@ -66,6 +67,9 @@ public class BirthCertificateFormControllerTest {
     @Mock
     private BirthCertificateCommandValidatorImpl birthCertificateCommandValidatorImplMock;
 
+    @Mock
+    private UpdateCertifiedYearOfBirth updateCertifiedYearOfBirthMock;
+
 
     @BeforeEach
     public void setUp() {
@@ -76,7 +80,8 @@ public class BirthCertificateFormControllerTest {
                 personServiceMock,
                 placeServiceMock,
                 organisationServiceMock,
-                capitaliseBirthCertificateMock);
+                capitaliseBirthCertificateMock,
+                updateCertifiedYearOfBirthMock);
     }
 
     @Test

+ 6 - 1
src/test/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerValidationTest.java

@@ -19,6 +19,7 @@ import scot.carricksoftware.grants.commands.certificates.birthcertificates.Birth
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateCommandConverterImpl;
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateConverterImpl;
 import scot.carricksoftware.grants.services.certificates.birthcertificates.BirthCertificateService;
+import scot.carricksoftware.grants.services.certificates.birthcertificates.UpdateCertifiedYearOfBirth;
 import scot.carricksoftware.grants.services.people.PersonService;
 import scot.carricksoftware.grants.services.places.organisations.OrganisationService;
 import scot.carricksoftware.grants.services.places.places.PlaceService;
@@ -62,6 +63,9 @@ public class BirthCertificateFormControllerValidationTest {
     @Mock
     private BirthCertificateCommandValidatorImpl birthCertificateCommandValidatorImplMock;
 
+    @Mock
+    private UpdateCertifiedYearOfBirth updateCertifiedYearOfBirthMock;
+
     @Mock
     private Model modelMock;
 
@@ -75,7 +79,8 @@ public class BirthCertificateFormControllerValidationTest {
                 personServiceMock,
                 placeServiceMock,
                 organisationServiceMock,
-                capitaliseBirthCertificateMock);
+                capitaliseBirthCertificateMock,
+                updateCertifiedYearOfBirthMock);
     }
 
 

+ 1 - 1
src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateRecordedYearOfBirthFailingTest.java → src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateCertifiedYearOfBirthFailingTest.java

@@ -22,7 +22,7 @@ import static org.mockito.Mockito.*;
 import static scot.carricksoftware.grants.enums.census.CensusDate.CENSUS_1881;
 
 @ExtendWith(MockitoExtension.class)
-class UpdateRecordedYearOfBirthFailingTest {
+class UpdateCertifiedYearOfBirthFailingTest {
 
     private UpdateRecordedYearOfBirth updateRecordedYearOfBirth;
 

+ 1 - 1
src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateRecordedYearOfBirthPassingTest.java → src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateCertifiedYearOfBirthPassingTest.java

@@ -21,7 +21,7 @@ import static org.mockito.Mockito.*;
 import static scot.carricksoftware.grants.enums.census.CensusDate.CENSUS_1881;
 
 @ExtendWith(MockitoExtension.class)
-class UpdateRecordedYearOfBirthPassingTest {
+class UpdateCertifiedYearOfBirthPassingTest {
 
     private UpdateRecordedYearOfBirth updateRecordedYearOfBirth;
 

+ 1 - 1
src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateRecordedYearOfBirthViaBirthYearTest.java → src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateCertifiedYearOfBirthViaBirthYearTest.java

@@ -21,7 +21,7 @@ import static org.mockito.Mockito.when;
 import static scot.carricksoftware.grants.GenerateRandomNumberValues.GetRandomInteger;
 
 @ExtendWith(MockitoExtension.class)
-class UpdateRecordedYearOfBirthViaBirthYearTest {
+class UpdateCertifiedYearOfBirthViaBirthYearTest {
 
     private UpdateRecordedYearOfBirth updateRecordedYearOfBirth;