|
|
@@ -1,5 +1,6 @@
|
|
|
package com.malk.service.workhours;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.malk.server.aliwork.YDConf;
|
|
|
import com.malk.server.aliwork.YDParam;
|
|
|
import com.malk.server.common.McException;
|
|
|
@@ -36,6 +37,27 @@ import static org.mockito.Mockito.when;
|
|
|
|
|
|
public class WorkHoursCalcServiceTest {
|
|
|
|
|
|
+ @Test
|
|
|
+ public void upsertDailyHoursShouldWriteCompactDateText() {
|
|
|
+ YDClient ydClient = mock(YDClient.class);
|
|
|
+ WorkHoursCalcService service = workHoursService(ydClient);
|
|
|
+ LocalDate workDay = LocalDate.of(2026, 8, 26);
|
|
|
+
|
|
|
+ ReflectionTestUtils.invokeMethod(
|
|
|
+ service,
|
|
|
+ "upsertDailyHours",
|
|
|
+ "employee-1",
|
|
|
+ Collections.emptyList(),
|
|
|
+ workDay,
|
|
|
+ Collections.emptyMap());
|
|
|
+
|
|
|
+ ArgumentCaptor<YDParam> paramCaptor = ArgumentCaptor.forClass(YDParam.class);
|
|
|
+ verify(ydClient).operateData(paramCaptor.capture(), eq(YDConf.FORM_OPERATION.upsert));
|
|
|
+ Map<String, Object> formData = JSON.parseObject(
|
|
|
+ paramCaptor.getValue().getFormDataJson(), Map.class);
|
|
|
+ assertEquals("20260826", formData.get("textField_mtseezhf"));
|
|
|
+ }
|
|
|
+
|
|
|
@Test
|
|
|
public void buildCompanyAttributeUpdateShouldNotClearHistoryWhenSourceIsEmpty() {
|
|
|
Map<String, String> update = WorkHoursCalcService.buildCompanyAttributeUpdate(
|