修复V3空业务根回调处理
This commit is contained in:
@@ -805,6 +805,38 @@ class SuperAgentTaskResultControllerTest {
|
||||
assertThat(transitionCount).isEqualTo(1L);
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldRejectEmptyV3BusinessRootWithoutPersistingBatch() throws Exception {
|
||||
SourceMessageCaptureResult source = captureSourceMessage("mail-v3-empty-business-root-001");
|
||||
String body = """
|
||||
{
|
||||
"source_message": {
|
||||
"source_message_id": "mail-v3-empty-business-root-001",
|
||||
"subject": "Empty business root",
|
||||
"from": null,
|
||||
"cc": [],
|
||||
"received_at": null,
|
||||
"source_channel": "Email"
|
||||
},
|
||||
"message_events": [],
|
||||
"case_candidates": [],
|
||||
"extraction_warnings": [],
|
||||
"unhandled_current_intents": []
|
||||
}
|
||||
""";
|
||||
|
||||
mockMvc.perform(signedPost(body, "nonce-v3-empty-business-root-001"))
|
||||
.andExpect(status().isBadRequest())
|
||||
.andExpect(jsonPath("$.error_code").value("TASK_RESULTS_EMPTY"));
|
||||
|
||||
Long batchCount = jdbcTemplate.queryForObject("""
|
||||
SELECT COUNT(*)
|
||||
FROM workflow_reservation_ai_batch
|
||||
WHERE source_message_id = ?
|
||||
""", Long.class, source.inboxId());
|
||||
assertThat(batchCount).isZero();
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldPersistAdapterContractErrorWhenV3EventRouteCannotBeDerived() throws Exception {
|
||||
SourceMessageCaptureResult source = captureSourceMessage("mail-v3-adapter-error-001");
|
||||
|
||||
Reference in New Issue
Block a user