Browse Source

ImageCommandValidatorTest

Andrew Grant 2 months ago
parent
commit
87708db8e1

+ 0 - 2
src/main/java/scot/carricksoftware/grants/validators/images/ImageCommandValidatorImpl.java

@@ -31,8 +31,6 @@ public class ImageCommandValidatorImpl implements ImageCommandValidator {
       validateName(imageCommand, bindingResult);
       validateImageData(imageCommand, bindingResult);
       validateFileType(imageCommand, bindingResult);
-      var z = bindingResult.getAllErrors();
-      var x = -1;
     }
 
     private void validateFileType(ImageCommand imageCommand, BindingResult bindingResult) {

+ 76 - 0
src/test/java/scot/carricksoftware/grants/validators/images/ImageCommandValidatorTest.java

@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 30/03/2025, 14:31. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grants.validators.images;
+
+
+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.images.ImageCommand;
+import scot.carricksoftware.grants.validators.helpers.ValidateTypes;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static scot.carricksoftware.grants.GenerateCertificateRandomValues.GetRandomString;
+
+
+@ExtendWith(MockitoExtension.class)
+class ImageCommandValidatorTest {
+
+    private ImageCommandValidator validator;
+
+    @Mock
+    private BindingResult bindingResultMock;
+
+    @Mock
+    private ValidateTypes validateTypesMock;
+
+    @Mock
+    private ImageCommand imageCommandMock;
+
+    @BeforeEach
+    void setUp() {
+        validator = new ImageCommandValidatorImpl(validateTypesMock);
+    }
+
+    @Test
+    void validateFileTypeIsRunTest() {
+        String fileName = GetRandomString();
+        when(imageCommandMock.getFileName()).thenReturn(fileName);
+        validator.validate(imageCommandMock, bindingResultMock);
+
+        verify(validateTypesMock).validateFileType(fileName,
+                "fileName", new String[]{"JPG","GIF"},
+                "The file type is not supported.", bindingResultMock);
+    }
+
+    @Test
+    void validateNameTypeIsRunTest() {
+        String name = GetRandomString();
+        when(imageCommandMock.getName()).thenReturn(name);
+        validator.validate(imageCommandMock, bindingResultMock);
+
+        verify(validateTypesMock).validateNullOrEmptyString(name,
+                "name",
+                "The name cannot be null.", bindingResultMock);
+    }
+
+    @Test
+    void validateImageDataIsRunTest() {
+        String fileName = GetRandomString();
+        when(imageCommandMock.getFileName()).thenReturn(fileName);
+        validator.validate(imageCommandMock, bindingResultMock);
+
+        verify(validateTypesMock).validateNullOrEmptyString(fileName,
+                "fileName",
+                "The file to upload cannot be null.", bindingResultMock);
+    }
+
+
+}