feat: enhance agent management and validation logic
- Updated AGENTS.md to clarify agent account restrictions and permissions. - Implemented checks in AgentNodeAdminUserStoreController and AgentNodeRoleStoreController to restrict admin user and role creation to the agent's own node. - Enhanced validation in AdminPlayerStoreController and AdminPlayerUpdateController to enforce credit limit and rebate rate rules based on player funding mode. - Refactored various request classes to utilize shared admin account field rules for consistency. - Improved error handling in services related to credit allocation and rebate limits to ensure proper validation and messaging.
This commit is contained in:
@@ -28,3 +28,43 @@ test('api message resolves admin key', function (): void {
|
||||
expect(ApiMessage::get($request, 'admin.site_access_denied'))
|
||||
->toBe('无权访问该站点。');
|
||||
});
|
||||
|
||||
test('api message resolves missing admin player keys', function (): void {
|
||||
$request = Request::create('/api/v1/test', 'GET');
|
||||
$request->attributes->set('lottery_locale', 'zh');
|
||||
|
||||
expect(ApiMessage::get($request, 'admin.player_native_username_required'))
|
||||
->toBe('请填写彩票端登录账号。');
|
||||
});
|
||||
|
||||
test('api message reason resolves business validation key', function (): void {
|
||||
$request = Request::create('/api/v1/test', 'GET');
|
||||
$request->attributes->set('lottery_locale', 'zh');
|
||||
|
||||
expect(ApiMessage::reason($request, 'exceeds_available'))
|
||||
->toBe('超出代理可下发额度:请提高该代理授信,或减少其他下级/玩家已占用的额度。');
|
||||
});
|
||||
|
||||
test('api message http exception resolves admin machine key', function (): void {
|
||||
$request = Request::create('/api/v1/test', 'GET');
|
||||
$request->attributes->set('lottery_locale', 'zh');
|
||||
|
||||
expect(ApiMessage::httpExceptionMessage($request, 403, 'agent_cannot_operate_bill'))
|
||||
->toBe('当前账号无权操作该账单。');
|
||||
});
|
||||
|
||||
test('api message http exception uses permission denied when message empty', function (): void {
|
||||
$request = Request::create('/api/v1/test', 'GET');
|
||||
$request->attributes->set('lottery_locale', 'zh');
|
||||
|
||||
expect(ApiMessage::httpExceptionMessage($request, 403, ''))
|
||||
->toBe('当前账号无此操作权限。');
|
||||
});
|
||||
|
||||
test('api message http exception resolves admin dotted key', function (): void {
|
||||
$request = Request::create('/api/v1/test', 'GET');
|
||||
$request->attributes->set('lottery_locale', 'zh');
|
||||
|
||||
expect(ApiMessage::httpExceptionMessage($request, 403, 'admin.agent_bound_cannot_manage_periods'))
|
||||
->toBe('绑定代理账号不能开/关账期,请联系站点财务操作。');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user