Pārlūkot izejas kodu

AddAttributes Test BirthCertificate(3)

Andrew Grant 3 mēneši atpakaļ
vecāks
revīzija
337872ef2b

+ 34 - 2
src/test/java/scot/carricksoftware/grants/controllers/certificates/birthcertificates/BirthCertificateFormControllerAttributesTest.java

@@ -12,7 +12,9 @@ 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.capitalisation.certificates.birthcertificates.CapitaliseBirthCertificate;
+import scot.carricksoftware.grants.commands.certificates.birthcertificates.BirthCertificateCommand;
 import scot.carricksoftware.grants.controllers.AddAttributes;
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateCommandConverterImpl;
 import scot.carricksoftware.grants.converters.certificates.birthcertificates.BirthCertificateConverterImpl;
@@ -21,8 +23,10 @@ import scot.carricksoftware.grants.services.certificates.birthcertificates.Updat
 import scot.carricksoftware.grants.validators.certificates.birthcertificate.BirthCertificateCommandValidatorImpl;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.verify;
-
+import static org.mockito.Mockito.when;
+import static scot.carricksoftware.grants.GenerateRandomNumberValues.GetRandomLong;
 
 
 @ExtendWith(MockitoExtension.class)
@@ -55,6 +59,12 @@ public class BirthCertificateFormControllerAttributesTest {
     @Mock
     private UpdateCertifiedYearOfBirth updateCertifiedYearOfBirthMock;
 
+    @Mock
+    private BirthCertificateCommand birthCertificateCommandMock;
+
+    @Mock
+    private BindingResult bindingResultMock;
+
 
     @BeforeEach
     public void setUp() {
@@ -67,13 +77,35 @@ public class BirthCertificateFormControllerAttributesTest {
                 addAttributesMock);
     }
 
-
     @Test
     public void newCertificateTest() {
         assertEquals("certificates/birthCertificate/form",birthCertificateFormController.getNewBirthCertificate(modelMock));
         verify(addAttributesMock).AddBMDCertificate(modelMock);
     }
 
+    @Test
+    public void editCertificateTest() {
+        assertEquals("certificates/birthCertificate/form",birthCertificateFormController.birthCertificateEdit(GetRandomLong().toString(), modelMock));
+        verify(addAttributesMock).AddBMDCertificate(modelMock);
+    }
+
+    @Test
+    public void saveOrUpdateErrorsTest() {
+        when(bindingResultMock.hasErrors()).thenReturn(true);
+        assertEquals("certificates/birthCertificate/form",
+                birthCertificateFormController.saveOrUpdate(birthCertificateCommandMock, bindingResultMock, modelMock));
+        verify(addAttributesMock).AddBMDCertificate(modelMock);
+    }
+
+    @Test
+    public void saveOrUpdateNoErrorsTest() {
+        when(bindingResultMock.hasErrors()).thenReturn(false);
+        when(birthCertificateServiceMock.saveBirthCertificateCommand(any())).thenReturn(birthCertificateCommandMock);
+        assertEquals("redirect:/birthCertificate/0/show",
+                birthCertificateFormController.saveOrUpdate(birthCertificateCommandMock, bindingResultMock, modelMock));
+        verify(addAttributesMock).AddBMDCertificate(modelMock);
+    }
+
 
 
 }