From 2866abe1f5e945a785b6ecc06d71082a51238e31 Mon Sep 17 00:00:00 2001 From: weicw <594098497@qq.com> Date: Sat, 31 Oct 2026 04:38:09 +0800 Subject: [PATCH] =?UTF-8?q?test:=20=E5=AD=98=E6=A1=A3=E7=A1=AE=E8=AE=A4?= =?UTF-8?q?=E6=9C=80=E5=B0=8F=E6=9D=83=E9=99=90=E7=94=A8=E4=BE=8B=E6=8C=82?= =?UTF-8?q?=E8=B5=B7=EF=BC=8C=E5=BE=85=20#45=20=E5=86=B3=E7=AD=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../approval/ApprovalConfirmArchiveIT.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/test/java/com/gxwebsoft/approval/ApprovalConfirmArchiveIT.java b/src/test/java/com/gxwebsoft/approval/ApprovalConfirmArchiveIT.java index 1348d78..2c02e97 100644 --- a/src/test/java/com/gxwebsoft/approval/ApprovalConfirmArchiveIT.java +++ b/src/test/java/com/gxwebsoft/approval/ApprovalConfirmArchiveIT.java @@ -148,6 +148,25 @@ class ApprovalConfirmArchiveIT { + "AND action = 'CONFIRM' AND opinion IS NOT NULL", instanceId)).isZero(); } + /** + * 回归 #45:按 #11/#14,存档确认是报送人本人的动作,不应要求 approval:instance:approve。 + * 当前实现 403,掩盖于测试给 reporter 免费发放 APPROVE;待决策(权限授予或改 @PreAuthorize)后 + * 按结论启用或改写本用例。 + */ + @Test + @org.junit.jupiter.api.Disabled("待 #45 决策:仅持 submit 的报送人当前无法确认自己的存档任务") + void reporterWithoutApproveAuthorityConfirmsOwnArchiveTask() throws Exception { + long instanceId = createAndSubmit("最小权限存档"); + approveByLeader(instanceId); + long reporterTask = pendingTaskId(instanceId, reporter.userId); + + mockMvc.perform(authed(post("/api/approval/task/" + reporterTask + "/confirm"), + reporter, organizationId, SUBMIT)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.code").value(0)) + .andExpect(jsonPath("$.data.status").value("APPROVED")); + } + @Test void archivesOnceAndCancelsOtherArchiveTasks() throws Exception { long instanceId = createAndSubmit("归档或签");