|
|
@@ -0,0 +1,40 @@
|
|
|
+package com.malk.service.workhours;
|
|
|
+
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import static org.junit.jupiter.api.Assertions.assertFalse;
|
|
|
+import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
|
+
|
|
|
+class TimeCardRepairServiceTest {
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void shouldAllowRepairWhenOriginalSummaryOnlyHasDraftHours() {
|
|
|
+ Map<String, Object> formData = new HashMap<>();
|
|
|
+ formData.put("numberField_mmd1smel", 8d);
|
|
|
+ Map<String, Object> record = new HashMap<>();
|
|
|
+ record.put("formData", formData);
|
|
|
+
|
|
|
+ assertFalse(TimeCardRepairService.hasApprovedOrChangedHours(record));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void shouldBlockRepairWhenApprovedAndChangedHoursRemain() {
|
|
|
+ Map<String, Object> formData = new HashMap<>();
|
|
|
+ formData.put("numberField_mmeakgi4", 8d);
|
|
|
+ formData.put("numberField_mmeakgi5", -2d);
|
|
|
+
|
|
|
+ assertTrue(TimeCardRepairService.hasApprovedOrChangedHours(formData));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void shouldAllowRepairWhenChangeFullyOffsetsApprovedHours() {
|
|
|
+ Map<String, Object> formData = new HashMap<>();
|
|
|
+ formData.put("numberField_mmeakgi4", 8d);
|
|
|
+ formData.put("numberField_mmeakgi5", -8d);
|
|
|
+
|
|
|
+ assertFalse(TimeCardRepairService.hasApprovedOrChangedHours(formData));
|
|
|
+ }
|
|
|
+}
|