This commit is contained in:
2026-08-13 14:37:51 +08:00
parent bc62650ca9
commit 65cd7e0a39
63 changed files with 380 additions and 226 deletions
@@ -31,6 +31,10 @@ class AdminPrototypeMenuPermissionSqlContractTest {
.contains("'platform:finance:settlement-ar:create', 5105043")
.contains("'platform:finance:settlement-ap:create', 5105044")
.contains("'platform:finance:payment:create', 5105044)")
.contains("'platform:finance:bill:view','platform:finance:settlement-ar:view'")
.contains("'platform:finance:settlement-ap:view'")
.doesNotContain("SELECT 'platform:finance:settlement-ar:view', 5105043")
.doesNotContain("SELECT 'platform:finance:settlement-ap:view', 5105044")
.contains("role_code='PLATFORM_ADMIN'");
}
@@ -62,14 +62,15 @@ class FinanceG1G2PermissionSqlContractTest {
.contains("NULL, 'POST', 150, 'ACTIVE', 1, 0")
.contains("NULL, 'PUT', 160, 'ACTIVE', 1, 0")
.contains("permission_code IN (\n 'platform:finance',")
.contains("permission_code LIKE 'platform:finance:%' AND status='ACTIVE' AND deleted=0) <> 27")
.contains("permission_code LIKE 'platform:finance:%' AND status='ACTIVE' AND deleted=0) <> 24")
.contains("平台管理员 Finance 授权不完整")
.contains("Finance G1-G4");
assertThat(financeSection)
.contains("SELECT 4000001, id, 0 FROM baiyue_iam.iam_permission")
.contains("platform:finance:account:view")
.contains("platform:finance:settlement-ar:view")
.contains("platform:finance:settlement-ap:view");
.contains("platform:finance:account:view");
assertThat(sql)
.contains("platform:finance:settlement-ar:list")
.contains("platform:finance:settlement-ap:list");
}
private static Path resolveUnifiedSql() {
@@ -14,8 +14,7 @@ class FinanceG3G4PermissionSqlContractTest {
"platform:finance:reconciliation:create", "platform:finance:reconciliation:review",
"platform:finance:reconciliation:issue", "platform:finance:reconciliation:adjust",
"platform:finance:reconciliation:void", "platform:finance:settlement-ar:create",
"platform:finance:settlement-ap:create", "platform:finance:settlement-ar:view",
"platform:finance:settlement-ap:view", "platform:finance:payment:create"
"platform:finance:settlement-ap:create", "platform:finance:payment:create"
};
@Test
@@ -23,9 +22,7 @@ class FinanceG3G4PermissionSqlContractTest {
String sql = new ClassPathResource("db/finance-g3-g4-permissions.sql")
.getContentAsString(StandardCharsets.UTF_8);
for (int index = 0; index < CODES.length; index++) {
assertThat(sql).contains("(" + (5105026 + index) + ", 0, 'PLATFORM', 'BUTTON', 5105000, '" + CODES[index] + "'");
}
for (String code : CODES) assertThat(sql).contains(code);
assertThat(sql).contains("SIGNAL SQLSTATE '45000'")
.contains("id = 5105026 AND permission_code <> 'platform:finance:reconciliation:create'")
.contains("permission_code = 'platform:finance:payment:create' AND id <> 5105035")
@@ -33,7 +30,10 @@ class FinanceG3G4PermissionSqlContractTest {
.contains("finance G3/G4 permission id/code conflict")
.contains("permission catalog is incomplete")
.contains("finance permission parent is invalid")
.contains("CALL migrate_finance_g3_g4_permissions()");
.contains("CALL migrate_finance_g3_g4_permissions()")
.contains("status='INACTIVE', deleted=1")
.doesNotContain("'platform:finance:settlement-ar:view', '查看应收结算单'")
.doesNotContain("'platform:finance:settlement-ap:view', '查看应付结算单'");
}
@Test
@@ -45,12 +45,13 @@ class FinanceG3G4PermissionSqlContractTest {
assertThat(financeSection)
.contains("migrate_finance_g1_g4_permissions")
.contains("finance G1-G4 permission id/code conflict")
.contains("permission_code LIKE 'platform:finance:%' AND status='ACTIVE' AND deleted=0) <> 27");
.contains("permission_code LIKE 'platform:finance:%' AND status='ACTIVE' AND deleted=0) <> 24");
assertThat(financeSection)
.contains("SELECT 4000001, id, 0 FROM baiyue_iam.iam_permission")
.contains("platform:finance:reconciliation:create")
.contains("platform:finance:settlement-ar:view")
.contains("platform:finance:settlement-ap:view");
.contains("platform:finance:reconciliation:create");
assertThat(sql)
.contains("platform:finance:settlement-ar:list")
.contains("platform:finance:settlement-ap:list");
}
private static Path resolveUnifiedSql() {