소스 검색

UpdateRecordedYearOfBirthFailing Tested

Andrew Grant 7 달 전
부모
커밋
a4a9f65cc2

+ 8 - 1
src/main/java/scot/carricksoftware/grants/controllers/census/censusentry/CensusEntryFormControllerImpl.java

@@ -24,6 +24,7 @@ import scot.carricksoftware.grants.converters.Capitalisation;
 import scot.carricksoftware.grants.converters.census.CensusEntryConverter;
 import scot.carricksoftware.grants.services.census.censusentry.CensusEntryService;
 import scot.carricksoftware.grants.services.census.census.CensusService;
+import scot.carricksoftware.grants.services.census.censusentry.UpdateRecordedYearOfBirth;
 import scot.carricksoftware.grants.services.people.PersonService;
 import scot.carricksoftware.grants.validators.census.CensusEntryCommandValidator;
 
@@ -38,18 +39,23 @@ public class CensusEntryFormControllerImpl implements CensusEntryFormController
     private final Capitalisation capitalisation;
     private final PersonService personService;
     private final CensusService censusService;
+    private final UpdateRecordedYearOfBirth updateRecordedYearOfBirth;
+
 
 
     public CensusEntryFormControllerImpl(CensusEntryService censusEntryService,
                                          CensusEntryCommandValidator censusEntryCommandValidator,
                                          CensusEntryConverter censusEntryConverter,
-                                         Capitalisation capitalisation, PersonService personService, CensusService censusService) {
+                                         Capitalisation capitalisation,
+                                         PersonService personService,
+                                         CensusService censusService, UpdateRecordedYearOfBirth updateRecordedYearOfBirth) {
         this.censusEntryService = censusEntryService;
         this.censusEntryCommandValidator = censusEntryCommandValidator;
         this.censusEntryConverter = censusEntryConverter;
         this.capitalisation = capitalisation;
         this.personService = personService;
         this.censusService = censusService;
+        this.updateRecordedYearOfBirth = updateRecordedYearOfBirth;
     }
 
     @SuppressWarnings("SameReturnValue")
@@ -89,6 +95,7 @@ public class CensusEntryFormControllerImpl implements CensusEntryFormController
         }
 
         CensusEntryCommand savedCommand = censusEntryService.saveCensusEntryCommand(censusEntryCommand);
+        updateRecordedYearOfBirth.updateRecordedYearOfBirth(savedCommand);
         model.addAttribute(AttributeConstants.CENSUS_ENTRY_COMMAND, savedCommand);
         return MappingConstants.REDIRECT + MappingConstants.CENSUS_ENTRY_SHOW.replace("{id}", "" + savedCommand.getId());
     }

+ 6 - 2
src/test/java/scot/carricksoftware/grants/controllers/census/censusentry/CensusEntryFormControllerSaveOrUpdateTest.java

@@ -18,6 +18,7 @@ import scot.carricksoftware.grants.converters.Capitalisation;
 import scot.carricksoftware.grants.converters.census.CensusEntryConverterImpl;
 import scot.carricksoftware.grants.services.census.censusentry.CensusEntryService;
 import scot.carricksoftware.grants.services.census.census.CensusService;
+import scot.carricksoftware.grants.services.census.censusentry.UpdateRecordedYearOfBirth;
 import scot.carricksoftware.grants.services.people.PersonService;
 import scot.carricksoftware.grants.validators.census.CensusEntryCommandValidator;
 
@@ -58,6 +59,9 @@ public class CensusEntryFormControllerSaveOrUpdateTest {
     @Mock
     BindingResult bindingResultMock;
 
+    @Mock
+    private UpdateRecordedYearOfBirth updateRecordedYearOfBirthMock;
+
     CensusEntryCommand censusEntryCommand;
 
     @BeforeEach
@@ -67,7 +71,8 @@ public class CensusEntryFormControllerSaveOrUpdateTest {
                 censusEntryConverterMock,
                 capitalisationMock,
                 personServiceMock,
-                censusServiceMock);
+                censusServiceMock,
+                updateRecordedYearOfBirthMock);
         censusEntryCommand = new CensusEntryCommandImpl();
     }
 
@@ -115,5 +120,4 @@ public class CensusEntryFormControllerSaveOrUpdateTest {
 
     }
 
-
 }

+ 6 - 1
src/test/java/scot/carricksoftware/grants/controllers/census/censusentry/CensusEntryFormControllerTest.java

@@ -20,6 +20,7 @@ import scot.carricksoftware.grants.converters.census.CensusEntryConverterImpl;
 import scot.carricksoftware.grants.domains.census.CensusEntry;
 import scot.carricksoftware.grants.services.census.censusentry.CensusEntryService;
 import scot.carricksoftware.grants.services.census.census.CensusService;
+import scot.carricksoftware.grants.services.census.censusentry.UpdateRecordedYearOfBirth;
 import scot.carricksoftware.grants.services.people.PersonService;
 import scot.carricksoftware.grants.validators.census.CensusEntryCommandValidator;
 
@@ -59,6 +60,9 @@ public class CensusEntryFormControllerTest {
     @Mock
     private PersonService personServiceMock;
 
+    @Mock
+    private UpdateRecordedYearOfBirth updateRecordedYearOfBirthMock;
+
 
     @BeforeEach
     public void setUp() {
@@ -67,7 +71,8 @@ public class CensusEntryFormControllerTest {
                 censusEntryConverterMock,
                 capitalisationMock,
                 personServiceMock,
-                censusServiceMock);
+                censusServiceMock,
+                updateRecordedYearOfBirthMock);
     }
 
     @Test

+ 87 - 0
src/test/java/scot/carricksoftware/grants/controllers/census/censusentry/CensusEntryFormControllerUpdateRecordedBirthDateTest.java

@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 21/03/2025, 00:30. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grants.controllers.census.censusentry;
+
+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.ui.Model;
+import org.springframework.validation.BindingResult;
+import scot.carricksoftware.grants.commands.census.CensusEntryCommand;
+import scot.carricksoftware.grants.commands.census.CensusEntryCommandImpl;
+import scot.carricksoftware.grants.converters.Capitalisation;
+import scot.carricksoftware.grants.converters.census.CensusEntryConverterImpl;
+import scot.carricksoftware.grants.services.census.census.CensusService;
+import scot.carricksoftware.grants.services.census.censusentry.CensusEntryService;
+import scot.carricksoftware.grants.services.census.censusentry.UpdateRecordedYearOfBirth;
+import scot.carricksoftware.grants.services.people.PersonService;
+import scot.carricksoftware.grants.validators.census.CensusEntryCommandValidator;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+
+@ExtendWith(MockitoExtension.class)
+public class CensusEntryFormControllerUpdateRecordedBirthDateTest {
+
+    @SuppressWarnings("unused")
+    private CensusEntryFormControllerImpl censusEntryController;
+
+    @Mock
+    private CensusEntryService censusEntryServiceMock;
+
+    @Mock
+    CensusEntryCommandValidator censusEntryCommandValidatorMock;
+
+    @Mock
+    private CensusEntryConverterImpl censusEntryConverterMock;
+
+    @Mock
+    private Capitalisation capitalisationMock;
+
+    @Mock
+    private PersonService personServiceMock;
+
+    @Mock
+    private CensusService censusServiceMock;
+
+    @Mock
+    Model modelMock;
+
+    @Mock
+    BindingResult bindingResultMock;
+
+    @Mock
+    private UpdateRecordedYearOfBirth updateRecordedYearOfBirthMock;
+
+    CensusEntryCommand censusEntryCommand;
+
+    @BeforeEach
+    public void setUp() {
+        censusEntryController = new CensusEntryFormControllerImpl(censusEntryServiceMock,
+                censusEntryCommandValidatorMock,
+                censusEntryConverterMock,
+                capitalisationMock,
+                personServiceMock,
+                censusServiceMock,
+                updateRecordedYearOfBirthMock);
+        censusEntryCommand = new CensusEntryCommandImpl();
+    }
+
+    @Test
+    public void PersonReportedDatesAreUpdatedTest() {
+        Long id = 4L;
+        censusEntryCommand.setId(id);
+        when(censusEntryServiceMock.saveCensusEntryCommand(any(CensusEntryCommand.class))).thenReturn(censusEntryCommand);
+        censusEntryController.saveOrUpdate(censusEntryCommand, bindingResultMock, modelMock);
+        verify(updateRecordedYearOfBirthMock).updateRecordedYearOfBirth(censusEntryCommand);
+    }
+
+
+}