Ver Fonte

MarriageCertificateUntrackedFieldsValidatorTest

Andrew Grant há 4 meses atrás
pai
commit
eb32a2e9eb

+ 64 - 0
src/test/java/scot/carricksoftware/grants/validators/certificates/marriagecertificate/MarriageCertificateUntrackedFieldsValidatorTest.java

@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.validators.certificates.marriagecertificate;
+
+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.marriagecertificates.MarriageCertificateCommand;
+import scot.carricksoftware.grants.commands.certificates.marriagecertificates.MarriageCertificateCommandImpl;
+import scot.carricksoftware.grants.validators.helpers.ValidateTwoFieldTypes;
+
+import static org.mockito.Mockito.verify;
+
+@ExtendWith(MockitoExtension.class)
+class MarriageCertificateUntrackedFieldsValidatorTest {
+
+    @Mock
+    private BindingResult bindingResultMock;
+
+    @Mock
+    private ValidateTwoFieldTypes validateTwoFieldsTypesMock;
+
+    private MarriageCertificateCommand marriageCertificateCommand;
+
+    @BeforeEach
+    void setUp() {
+        MarriageCertificateUntrackedFieldsValidator marriageCertificateUntrackedFieldsValidator = new MarriageCertificateUntrackedFieldsValidatorImpl(validateTwoFieldsTypesMock);
+        marriageCertificateCommand = new MarriageCertificateCommandImpl();
+        marriageCertificateUntrackedFieldsValidator.validate(marriageCertificateCommand, bindingResultMock);
+    }
+
+    @Test
+    void validateFieldsTest() {
+        verify(validateTwoFieldsTypesMock).validatePlaceAndUntrackedPlace(marriageCertificateCommand.getWhereMarried(),
+                marriageCertificateCommand.getUntrackedWhereMarried(), "whereMarried", "untrackedWhereMarried",
+                "One and only one where married and untracked where married must be specified.", bindingResultMock);
+        verify(validateTwoFieldsTypesMock).validatePlaceAndUntrackedPlace(marriageCertificateCommand.getGroomUsualResidence(),
+                marriageCertificateCommand.getGroomUntrackedResidence(), "groomUsualResidence", "groomUntrackedResidence",
+                "One and only one groom residence and untracked groom residence may be specified.", bindingResultMock);
+        verify(validateTwoFieldsTypesMock).validatePlaceAndUntrackedPlace(marriageCertificateCommand.getBrideUsualResidence(),
+                marriageCertificateCommand.getBrideUntrackedResidence(), "brideUsualResidence", "brideUntrackedResidence",
+                "One and only one bride residence and untracked bride residence may be specified.", bindingResultMock);
+        verify(validateTwoFieldsTypesMock).validatePersonAndUntrackedPerson(marriageCertificateCommand.getGroomFather(),
+                marriageCertificateCommand.getGroomUntrackedFather(), "groomFather", "groomUntrackedFather",
+                "One and only one groom father and untracked groom father may be specified.", bindingResultMock);
+        verify(validateTwoFieldsTypesMock).validatePersonAndUntrackedPerson(marriageCertificateCommand.getBrideFather(),
+                marriageCertificateCommand.getBrideUntrackedFather(), "brideFather", "brideUntrackedFather",
+                "One and only one bride father and untracked bride father may be specified.", bindingResultMock);
+        verify(validateTwoFieldsTypesMock).validatePersonAndUntrackedPerson(marriageCertificateCommand.getFirstWitness(),
+                marriageCertificateCommand.getUntrackedFirstWitness(), "firstWitness", "untrackedFirstWitness",
+                "One and only one first witness and untracked first witness may be specified.", bindingResultMock);
+        verify(validateTwoFieldsTypesMock).validatePersonAndUntrackedPerson(marriageCertificateCommand.getSecondWitness(),
+                marriageCertificateCommand.getUntrackedSecondWitness(), "secondWitness", "untrackedSecondWitness",
+                "One and only one second witness and untracked second witness may be specified.", bindingResultMock);
+    }
+
+
+}