feat(admin+api): 代理停用默认、结算加固与冒烟配置探针

- 代理层级默认授信比例与停用冻结/禁登全局默认

- 结算预览去重、比分校验、串关当场判负与市场类型校验

- 站内信 Banner/公告自动通知开关;开发环境动态 API 端口

- 扩充 RBAC/结算/认证/返现单元测试与 agent skills
This commit is contained in:
2026-06-23 11:08:41 +08:00
parent fa06fee64c
commit ce84226219
47 changed files with 9284 additions and 118 deletions

View File

@@ -85,6 +85,28 @@ describe('Admin RBAC (SEC010SEC012)', () => {
expect(guardAllows(user, 'settlement.resettle')).toBe(false);
});
it('FINANCE_ADMIN has deposit and cashback permissions but not reset database', () => {
const user = userWithRole('FINANCE_ADMIN');
expect(guardAllows(user, 'deposit.manage')).toBe(true);
expect(guardAllows(user, 'deposit.review')).toBe(true);
expect(guardAllows(user, 'cashback.confirm')).toBe(true);
expect(guardAllows(user, 'settings.reset_database')).toBe(false);
});
it('MATCH_ADMIN cannot manage deposits or confirm cashback', () => {
const user = userWithRole('MATCH_ADMIN');
expect(guardAllows(user, 'deposit.manage')).toBe(false);
expect(guardAllows(user, 'deposit.review')).toBe(false);
expect(guardAllows(user, 'cashback.confirm')).toBe(false);
});
it('SUPPORT cannot confirm cashback or manage deposits', () => {
const user = userWithRole('SUPPORT');
expect(guardAllows(user, 'cashback.confirm')).toBe(false);
expect(guardAllows(user, 'deposit.manage')).toBe(false);
expect(guardAllows(user, 'deposit.review')).toBe(false);
});
it('SUPER_ADMIN bypasses permission checks', () => {
const user = userWithRole('SUPER_ADMIN');
expect(guardAllows(user, 'wallet.deposit')).toBe(true);