TenantAtlas/apps/platform/tests/Unit/Verification/TenantPermissionCapabilityMappingTest.php
ahmido 1debe40ced feat: implement provider capability registry (#342)
## Summary
- implement the provider capability registry and derived capability evaluation flow
- update provider connections, onboarding, required-permissions diagnostics, and provider blocker translation to use capability-first summaries
- add bounded unit, feature, and browser test coverage plus the prepared Spec 283 artifacts

## Notes
- branch: `283-provider-capability-registry`
- commit: `74e75c3e`
- no additional validation commands were run in this git/PR flow step

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #342
2026-05-08 21:17:05 +00:00

33 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
use App\Support\Verification\TenantPermissionCheckClusters;
it('maps configured permission rows to provider requirement keys', function (): void {
$roleDefinitionRow = [
'key' => 'RoleManagement.Read.Directory',
'type' => 'application',
'description' => null,
'features' => ['directory-role-definitions'],
'status' => 'missing',
'details' => null,
];
$groupRow = [
'key' => 'Group.Read.All',
'type' => 'application',
'description' => null,
'features' => ['directory-groups'],
'status' => 'missing',
'details' => null,
];
expect(TenantPermissionCheckClusters::requirementKeysForPermissionRow($roleDefinitionRow))
->toContain('provider.directory_role_definitions', 'permissions.admin_consent')
->and(TenantPermissionCheckClusters::requirementKeysForPermissionRow($groupRow))
->toContain('permissions.directory_groups', 'permissions.admin_consent')
->and(TenantPermissionCheckClusters::rowsForRequirementKey([$roleDefinitionRow, $groupRow], 'provider.directory_role_definitions'))
->toHaveCount(1);
});