feat(p3.5): 审批代理增 Done/Cc 两端点(中心 done/cc 中转)
build / build-push (push) Failing after 10s

- SvcApprovalClient.doneTasks/ccMine:/oapi/flow/tasks/done、/oapi/flow/cc(中心按
  签名方应用过滤,出站不传 bizType——P2-02 接缝,双值双查不适用)
- SvcApprovalController GET Done/Cc:requireOperator+身份字段入参拒绝,信封透传
- 测试 +3(client 拼装 2+controller 透传与拒绝 1),全量 166/166 绿(Stage S5/P3.5)
This commit is contained in:
chenxing
2026-10-20 00:16:20 +08:00
parent 05d2143ce1
commit 6086c4374c
4 changed files with 103 additions and 0 deletions
@@ -170,6 +170,31 @@ class SvcApprovalClientTest {
assertTrue(((List<?>) out.get("tasks")).isEmpty());
}
@Test
@DisplayName("doneTasks:/oapi/flow/tasks/done,无 bizType 参数(中心按签名 appKey 过滤)")
void doneTasksAssembly() {
client.doneTasks(3, 10006, 2, 10);
@SuppressWarnings("unchecked")
ArgumentCaptor<Map<String, String>> q = ArgumentCaptor.forClass(Map.class);
verify(openCall).get(eq(TARGET), eq("/oapi/flow/tasks/done"), q.capture(), eq(Map.class));
assertEquals("3", q.getValue().get("schId"));
assertEquals("10006", q.getValue().get("assigneeId"));
assertEquals("2", q.getValue().get("page"));
assertEquals("10", q.getValue().get("size"));
assertTrue(!q.getValue().containsKey("bizType"), "P2-02 接缝:不传 bizType");
}
@Test
@DisplayName("ccMine:/oapi/flow/cc,userId 维度,无 bizType 参数")
void ccMineAssembly() {
client.ccMine(3, 10006, 1, 10);
@SuppressWarnings("unchecked")
ArgumentCaptor<Map<String, String>> q = ArgumentCaptor.forClass(Map.class);
verify(openCall).get(eq(TARGET), eq("/oapi/flow/cc"), q.capture(), eq(Map.class));
assertEquals("10006", q.getValue().get("userId"));
assertTrue(!q.getValue().containsKey("bizType"));
}
@Test
@DisplayName("approve:taskId 入路径、身份入查询串、opinion/edgeName 入 body 且 trim")
void approveAssembly() {