feat: enhance admin role management and reconciliation features
- Updated AGENTS.md to clarify site admin roles and their associated permissions. - Refactored reconciliation controllers to include admin user validation and improved access control based on admin roles. - Enhanced AdminReconcileJobService to support player-specific reconciliation and site-based job creation. - Removed deprecated rebate commission report functionality from the API and related services. - Improved dashboard overview builders to accommodate new site operator roles and their specific functionalities.
This commit is contained in:
@@ -15,6 +15,8 @@ test('admin ping requires authentication', function () {
|
||||
});
|
||||
|
||||
test('admin auth me returns current admin profile', function () {
|
||||
$this->artisan('lottery:admin-auth-sync')->assertExitCode(0);
|
||||
|
||||
$admin = AdminUser::query()->create([
|
||||
'username' => 'admin_me',
|
||||
'name' => '管理员本人',
|
||||
@@ -26,13 +28,21 @@ test('admin auth me returns current admin profile', function () {
|
||||
|
||||
$token = $admin->createToken('admin-api', ['*'], now()->addDay())->plainTextToken;
|
||||
|
||||
$this->withHeader('Authorization', 'Bearer '.$token)
|
||||
$resp = $this->withHeader('Authorization', 'Bearer '.$token)
|
||||
->getJson('/api/v1/admin/auth/me')
|
||||
->assertOk()
|
||||
->assertJsonPath('code', ErrorCode::Success->value)
|
||||
->assertJsonPath('data.admin.username', 'admin_me')
|
||||
->assertJsonPath('data.admin.account_kind', 'super_admin')
|
||||
->assertJsonPath('data.admin.navigation.0.segment', 'dashboard')
|
||||
->assertJsonStructure(['data' => ['admin' => ['permissions', 'operational_permissions']]]);
|
||||
|
||||
$permissions = $resp->json('data.admin.permissions');
|
||||
$operational = $resp->json('data.admin.operational_permissions');
|
||||
expect($permissions)->toBeArray()->not->toBeEmpty()
|
||||
->and($operational)->toBeArray()->not->toBeEmpty()
|
||||
->and($permissions[0])->toStartWith('prd.')
|
||||
->and($operational[0])->not->toStartWith('prd.');
|
||||
});
|
||||
|
||||
test('admin login returns bearer token when captcha passes validation', function () {
|
||||
|
||||
Reference in New Issue
Block a user