Răsfoiți Sursa

UpdateRecordedYearOfBirthImpl tests updated (2)

Andrew Grant 5 luni în urmă
părinte
comite
df4c5ce928

+ 4 - 4
src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateRecordedYearNullAndEmptyBirthYearTest.java

@@ -17,6 +17,7 @@ import scot.carricksoftware.grants.domains.census.Census;
 import scot.carricksoftware.grants.domains.people.Person;
 import scot.carricksoftware.grants.services.people.PersonService;
 
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 import static scot.carricksoftware.grants.enums.census.CensusDate.CENSUS_1881;
@@ -46,13 +47,12 @@ class UpdateRecordedYearNullAndEmptyBirthYearTest {
 
     @BeforeEach
     void setUp() {
-        when(censusMock.getCensusDate()).thenReturn(CENSUS_1881);
+        when(personConverterMock.convert(any())).thenReturn(personCommandMock);
+        updateRecordedYearOfBirth = new UpdateRecordedYearOfBirthImpl(personConverterMock, personServiceMock);
         when(censusEntryCommandMock.getPerson()).thenReturn(personMock);
         when(censusEntryCommandMock.getCensus()).thenReturn(censusMock);
         when(censusEntryCommandMock.getAge()).thenReturn("80");
-        when(personConverterMock.convert(personMock)).thenReturn(personCommandMock);
-        updateRecordedYearOfBirth = new UpdateRecordedYearOfBirthImpl(personConverterMock, personServiceMock);
-
+        when(censusMock.getCensusDate()).thenReturn(CENSUS_1881);
     }
 
     @Test

+ 62 - 0
src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateRecordedYearOfBirthInvalidAgeTest.java

@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.services.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.boot.test.system.CapturedOutput;
+import org.springframework.boot.test.system.OutputCaptureExtension;
+import scot.carricksoftware.grants.commands.census.CensusEntryCommand;
+import scot.carricksoftware.grants.converters.people.PersonConverter;
+import scot.carricksoftware.grants.domains.census.Census;
+import scot.carricksoftware.grants.domains.people.Person;
+import scot.carricksoftware.grants.services.people.PersonService;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.when;
+import static scot.carricksoftware.grants.enums.census.CensusDate.CENSUS_1881;
+
+@ExtendWith(MockitoExtension.class)
+@ExtendWith(OutputCaptureExtension.class)
+class UpdateRecordedYearOfBirthInvalidAgeTest {
+
+    private UpdateRecordedYearOfBirth updateRecordedYearOfBirth;
+
+    @Mock
+    private Census censusMock;
+
+    @Mock
+    private Person personMock;
+
+    @Mock
+    private PersonService personServiceMock;
+
+    @Mock
+    private CensusEntryCommand censusEntryCommandMock;
+
+    @Mock
+    private PersonConverter personConverterMock;
+
+    @BeforeEach
+    void setUp() {
+        updateRecordedYearOfBirth = new UpdateRecordedYearOfBirthImpl(personConverterMock, personServiceMock);
+        when(censusEntryCommandMock.getPerson()).thenReturn(personMock);
+        when(censusEntryCommandMock.getCensus()).thenReturn(censusMock);
+        when(censusEntryCommandMock.getAge()).thenReturn("e");
+        when(censusMock.getCensusDate()).thenReturn(CENSUS_1881);
+    }
+
+
+    @Test
+    public void theYearOfBirthIsInvalidIsLoggedTest(CapturedOutput capturedOutput) {
+        updateRecordedYearOfBirth.updateRecordedYearOfBirth(censusEntryCommandMock);
+        assertTrue(capturedOutput.getOut().contains("Age cannot be parsed"));
+    }
+
+}

+ 2 - 19
src/test/java/scot/carricksoftware/grants/services/census/censusentry/UpdateRecordedYearOfBirthViaBirthYearTest.java

@@ -10,18 +10,14 @@ 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.boot.test.system.CapturedOutput;
 import org.springframework.boot.test.system.OutputCaptureExtension;
 import scot.carricksoftware.grants.commands.census.CensusEntryCommand;
 import scot.carricksoftware.grants.commands.people.PersonCommand;
 import scot.carricksoftware.grants.converters.people.PersonConverter;
-import scot.carricksoftware.grants.domains.census.Census;
 import scot.carricksoftware.grants.domains.people.Person;
 import scot.carricksoftware.grants.services.people.PersonService;
 
-import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.*;
-import static scot.carricksoftware.grants.enums.census.CensusDate.CENSUS_1881;
 
 @ExtendWith(MockitoExtension.class)
 @ExtendWith(OutputCaptureExtension.class)
@@ -29,9 +25,6 @@ class UpdateRecordedYearOfBirthViaBirthYearTest {
 
     private UpdateRecordedYearOfBirth updateRecordedYearOfBirth;
 
-    @Mock
-    private Census censusMock;
-
     @Mock
     private Person personMock;
 
@@ -49,30 +42,20 @@ class UpdateRecordedYearOfBirthViaBirthYearTest {
 
     @BeforeEach
     void setUp() {
+        when(censusEntryCommandMock.getBirthYear()).thenReturn("1801");
         updateRecordedYearOfBirth = new UpdateRecordedYearOfBirthImpl(personConverterMock, personServiceMock);
         when(censusEntryCommandMock.getPerson()).thenReturn(personMock);
-        when(censusEntryCommandMock.getCensus()).thenReturn(censusMock);
     }
 
     @Test
     public void theYearOfBirthIsUpdatedTest() {
-        when(censusEntryCommandMock.getAge()).thenReturn("7");
-        when(censusMock.getCensusDate()).thenReturn(CENSUS_1881);
         when(personConverterMock.convert(personMock)).thenReturn(personCommandMock);
 
         updateRecordedYearOfBirth.updateRecordedYearOfBirth(censusEntryCommandMock);
 
-        verify(personCommandMock).setRecordedYearOfBirth("1874");
+        verify(personCommandMock).setRecordedYearOfBirth("1801");
     }
 
-    @Test
-    public void theYearOfBirthIsInvalidIsLoggedTest(CapturedOutput capturedOutput) {
-        when(censusEntryCommandMock.getAge()).thenReturn("a");
-        when(censusMock.getCensusDate()).thenReturn(CENSUS_1881);
-
-        updateRecordedYearOfBirth.updateRecordedYearOfBirth(censusEntryCommandMock);
-        assertTrue(capturedOutput.getOut().contains("Age cannot be parsed"));
-    }
 
 
 }