Files
lotteryLaravel/tests/Unit/AgentDefaultRolePermissionsTest.php
kang 980f3c9593 feat: enhance agent settlement features and improve data access controls
- Added new section in AGENTS.md detailing learned workspace facts for better understanding of settlement processes.
- Updated AgentNodeDestroyController to remove unnecessary checks for admin users.
- Enhanced AgentSettlement controllers to assert permissions for finance adjustments and bill operations.
- Improved query scopes in AgentSettlement services to ensure proper data access based on admin roles.
- Refactored methods in SettlementPartyEnrichment for better bill row enrichment and data handling.
- Introduced new methods in AdminAgentSettlementScope for managing agent node visibility and finance adjustments.
2026-06-12 15:59:05 +08:00

39 lines
1.3 KiB
PHP

<?php
use App\Models\AgentProfile;
use App\Support\AgentDefaultRolePermissions;
test('base owner slugs include dashboard and settlement view but not wallet reconcile or platform reports', function (): void {
$slugs = AgentDefaultRolePermissions::baseSlugs();
expect($slugs)
->toContain('prd.dashboard.view')
->toContain('prd.settlement.agent.view')
->not->toContain('prd.report.view')
->not->toContain('prd.wallet_reconcile.view')
->not->toContain('prd.wallet_reconcile.view_cs');
});
test('line root owner slugs include agent management packages', function (): void {
$slugs = AgentDefaultRolePermissions::lineRootOwnerSlugs();
expect($slugs)
->toContain('prd.agent.manage')
->toContain('prd.settlement.agent.manage')
->toContain('prd.agent.role.manage');
});
test('owner slugs from profile add manage slugs when capabilities enabled', function (): void {
$profile = new AgentProfile([
'can_create_child_agent' => true,
'can_create_player' => false,
]);
$slugs = AgentDefaultRolePermissions::ownerSlugsFromProfile($profile);
expect($slugs)
->toContain('prd.agent.manage')
->toContain('prd.agent.profile.manage')
->not->toContain('prd.users.manage');
});