TenantAtlas/apps/platform/tests/Feature/TenantConfiguration/Spec425EntraCertifiedNoRestoreTest.php
Ahmed Darrazi 39d0353e03
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 1m22s
feat: complete spec 425 enta certified compare pack
2026-07-02 00:55:04 +02:00

32 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
use App\Models\TenantConfigurationResourceType;
use App\Services\TenantConfiguration\ResourceTypeRegistry;
use App\Support\TenantConfiguration\RestoreTier;
use Tests\Support\TenantConfiguration\Spec425Fixtures as Spec425;
it('Spec425 introduces no restore apply action restore-ready state or restorable tier', function (): void {
Spec425::syncDefaults();
$types = TenantConfigurationResourceType::query()
->whereIn('canonical_type', ['conditionalAccessPolicy', 'securityDefaults'])
->get()
->keyBy('canonical_type');
$runtime = collect([
app_path('Services/TenantConfiguration/EntraCertifiedComparePackEvaluator.php'),
app_path('Services/TenantConfiguration/EntraCertifiedComparePackResult.php'),
app_path('Services/TenantConfiguration/SupportedScopeResolver.php'),
app_path('Services/TenantConfiguration/ClaimGuard.php'),
app_path('Services/TenantConfiguration/ResourceTypeRegistry.php'),
])->map(fn (string $path): string => file_get_contents($path) ?: '')->implode("\n");
expect($types['conditionalAccessPolicy']->restore_tier)->toBe(RestoreTier::NotRestorable)
->and($types['securityDefaults']->restore_tier)->toBe(RestoreTier::NotRestorable)
->and($types['conditionalAccessPolicy']->allows_certified_claims)->toBeFalse()
->and($types['securityDefaults']->allows_certified_claims)->toBeFalse()
->and($runtime)->not->toContain('restore-ready')
->and($runtime)->not->toContain('apply-ready');
});