test: Add audit log test case to CleanOrderEndToEndTest
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user