Переглянути джерело

ValidateType::ValidateNullOrEmptyString

Andrew Grant 6 місяців тому
батько
коміт
5dc275ecab

+ 1 - 1
src/main/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesImpl.java

@@ -46,7 +46,7 @@ public class ValidateTypesImpl implements ValidateTypes {
 
     @Override
     public void validateNullOrEmptyString(String string, String fieldName, @SuppressWarnings("SameParameterValue") String message, BindingResult bindingResult) {
-        if (string == null || string.isEmpty()) {
+        if (string == null || string.trim().isEmpty()) {
             bindingResult.rejectValue(fieldName, ApplicationConstants.EMPTY_STRING, null, message);
         }
     }

+ 58 - 0
src/test/java/scot/carricksoftware/grants/validators/helpers/ValidateTypesNullOrEmptyTest.java

@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.validators.helpers;
+
+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.constants.ApplicationConstants;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
+import static scot.carricksoftware.grants.GenerateCertificateRandomValues.GetRandomString;
+
+
+@ExtendWith(MockitoExtension.class)
+class ValidateTypesNullOrEmptyTest {
+
+    private ValidateTypes validateTypes;
+
+    private String field;
+    private String message;
+
+    @Mock
+    private BindingResult bindingResultMock;
+
+    @BeforeEach
+    void setUp() {
+        validateTypes = new ValidateTypesImpl();
+        field = "field";
+        message = "message";
+    }
+
+    @Test
+    void nullTest() {
+        validateTypes.validateNullOrEmptyString(null, field, message, bindingResultMock);
+        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, message);
+    }
+
+    @Test
+    void emptyTest() {
+        validateTypes.validateNullOrEmptyString(" ", field, message, bindingResultMock);
+        verify(bindingResultMock).rejectValue(field, ApplicationConstants.EMPTY_STRING, null, message);
+    }
+
+    @Test
+    void nonNullTest() {
+        validateTypes.validateNullOrEmptyString(GetRandomString(), field, message, bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
+    }
+
+
+}