From bd8dd73e50a031c93ca5cbd3e0519845c14bd9fe Mon Sep 17 00:00:00 2001 From: lzh Date: Fri, 23 Jan 2026 14:58:30 +0800 Subject: [PATCH] test: Add audit log test case to CleanOrderEndToEndTest --- .../cleanorder/CleanOrderEndToEndTest.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/viewsh-module-ops/viewsh-module-environment-biz/src/test/java/com/viewsh/module/ops/environment/service/cleanorder/CleanOrderEndToEndTest.java b/viewsh-module-ops/viewsh-module-environment-biz/src/test/java/com/viewsh/module/ops/environment/service/cleanorder/CleanOrderEndToEndTest.java index b0f151b..240f035 100644 --- a/viewsh-module-ops/viewsh-module-environment-biz/src/test/java/com/viewsh/module/ops/environment/service/cleanorder/CleanOrderEndToEndTest.java +++ b/viewsh-module-ops/viewsh-module-environment-biz/src/test/java/com/viewsh/module/ops/environment/service/cleanorder/CleanOrderEndToEndTest.java @@ -61,6 +61,9 @@ public class CleanOrderEndToEndTest { @InjectMocks private CleanOrderConfirmEventHandler confirmEventHandler; + @InjectMocks + private CleanOrderAuditEventHandler auditEventHandler; + @Mock private CleanOrderEventListener cleanOrderEventListener; @@ -141,6 +144,13 @@ public class CleanOrderEndToEndTest { // 注入 CleanOrderEventListener injectField(cleanOrderService, "cleanOrderEventListener", cleanOrderEventListener); + // 注入 CleanOrderAuditEventHandler 依赖 + injectField(auditEventHandler, "eventLogRecorder", eventLogRecorder); + injectField(auditEventHandler, "voiceBroadcastService", voiceBroadcastService); + injectField(auditEventHandler, "opsOrderMapper", opsOrderMapper); + injectField(auditEventHandler, "stringRedisTemplate", stringRedisTemplate); + injectField(auditEventHandler, "objectMapper", objectMapper); + // Stub IotDeviceControlApi for resetTrafficCounter lenient().when(iotDeviceControlApi.resetTrafficCounter(any())) .thenReturn(CommonResult.success(true)); @@ -351,6 +361,36 @@ public class CleanOrderEndToEndTest { // 3. 验证触发了自动调度下一单 verify(dispatchEngine).autoDispatchNext(eq(orderId), eq(2001L)); } + + @Test + void testAudit_TTS_Request() throws Exception { + // Prepare Event + String eventJson = "{" + + "\"eventId\":\"evt-audit-01\"," + + "\"auditType\":\"TTS_REQUEST\"," + + "\"deviceId\":5001," + + "\"message\":\"TTS Message\"," + + "\"data\":{\"tts\":\"请回到作业区域\"}" + + "}"; + + // Execute + auditEventHandler.onMessage(eventJson); + + // Verify + // 1. Log recorded + verify(eventLogRecorder).info( + eq("clean"), + any(), + eq("TTS_REQUEST"), + contains("TTS Message"), + any(), + eq(5001L), + any() + ); + + // 2. TTS sent + verify(voiceBroadcastService).broadcast(eq(5001L), contains("请回到作业区域")); + } // 简单的反射注入辅助方法 private void injectField(Object target, String fieldName, Object value) {