This commit is contained in:
2026-08-17 18:32:38 +08:00
parent 5c22018edd
commit 5199146e97
13 changed files with 194 additions and 17 deletions
@@ -43,8 +43,22 @@ class AdminPrototypeMenuPermissionSqlContractTest {
.doesNotContain("SELECT 'platform:finance:settlement-ap:view', 5105044")
.contains("role_code='PLATFORM_ADMIN'");
int grantStart = sql.indexOf("role_code='PLATFORM_ADMIN'");
String platformAdminGrant = sql.substring(grantStart, sql.indexOf(");", grantStart));
for (String permission : FINANCE_EXPORTS) assertThat(platformAdminGrant).contains(permission);
assertThat(platformAdminGrant).contains("platform:download:list");
String unified = Files.readString(resolveUnifiedSql(), StandardCharsets.UTF_8);
for (String permission : FINANCE_EXPORTS) assertThat(unified).contains(permission);
for (int index = 0; index < FINANCE_EXPORTS.length; index++) {
assertThat(unified).contains("(" + (5105050 + index) + ",0,'PLATFORM','BUTTON'," + (5105040 + index) + ",'" + FINANCE_EXPORTS[index] + "'");
}
assertThat(unified)
.contains("'platform:finance:settlement-ar:export','platform:finance:settlement-ap:export','platform:download:list'")
.contains("permission_code LIKE 'platform:finance:%' AND status='ACTIVE' AND deleted=0) <> 32")
.contains("(p.permission_code='platform:finance' OR p.permission_code LIKE 'platform:finance:%')) <> 33")
.contains("Finance 导出和下载中心授权不完整")
.satisfies(content -> assertThat(content.indexOf("(5105050,0,'PLATFORM','BUTTON'"))
.isLessThan(content.indexOf("CREATE PROCEDURE assert_finance_permissions()")));
}
@Test