From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-dms/jnpf-dms-controller/src/test/java/jnpf/dmsController/DmsWenjianBanbenControllerTest.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/jnpf-dms/jnpf-dms-controller/src/test/java/jnpf/dmsController/DmsWenjianBanbenControllerTest.java b/jnpf-dms/jnpf-dms-controller/src/test/java/jnpf/dmsController/DmsWenjianBanbenControllerTest.java
new file mode 100644
index 0000000..d13b94a
--- /dev/null
+++ b/jnpf-dms/jnpf-dms-controller/src/test/java/jnpf/dmsController/DmsWenjianBanbenControllerTest.java
@@ -0,0 +1,55 @@
+package jnpf.dmsController;
+
+import jnpf.dmsEntity.wenjianbianhao.DmsFlowEventType;
+import jnpf.dmsEntity.wenjianbianhao.form.DmsFlowEventForm;
+import jnpf.dmsService.DmsWenjianBanbenService;
+import jnpf.exception.DataException;
+import jnpf.flowable.WorkFlowApi;
+import jnpf.flowable.entity.TaskEntity;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+class DmsWenjianBanbenControllerTest {
+
+ private final DmsWenjianBanbenService service = mock(DmsWenjianBanbenService.class);
+ private final WorkFlowApi workFlowApi = mock(WorkFlowApi.class);
+ private final DmsWenjianBanbenController controller =
+ new DmsWenjianBanbenController(service, workFlowApi);
+
+ @Test
+ void revisionEventUsesServerSideWorkflowState() throws DataException {
+ DmsFlowEventForm form = form(DmsFlowEventType.END);
+ TaskEntity task = new TaskEntity();
+ task.setId("task-1");
+ task.setStatus(2);
+ when(workFlowApi.getInfoSubmit("task-1")).thenReturn(task);
+
+ controller.syncRevisionAuditFlowEvent(form);
+
+ verify(service).syncRevisionAuditFlow(
+ "flow-1", "task-1", 2, DmsFlowEventType.END);
+ }
+
+ @Test
+ void newAuditRejectsMismatchedTask() {
+ DmsFlowEventForm form = form(DmsFlowEventType.START);
+ TaskEntity task = new TaskEntity();
+ task.setId("another-task");
+ task.setStatus(1);
+ when(workFlowApi.getInfoSubmit("task-1")).thenReturn(task);
+
+ assertThrows(DataException.class, () -> controller.syncNewAuditFlowEvent(form));
+ }
+
+ private DmsFlowEventForm form(DmsFlowEventType eventType) {
+ DmsFlowEventForm form = new DmsFlowEventForm();
+ form.setFlowId("flow-1");
+ form.setTaskId("task-1");
+ form.setEventType(eventType);
+ return form;
+ }
+}
--
Gitblit v1.8.0