29 lines
1.2 KiB
PHP
29 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Models\TenantConfigurationResourceType;
|
|
use App\Services\TenantConfiguration\ResourceTypeRegistry;
|
|
use App\Support\TenantConfiguration\ClaimState;
|
|
use App\Support\TenantConfiguration\CoverageLevel;
|
|
use App\Support\TenantConfiguration\RestoreTier;
|
|
|
|
it('Spec422 keeps selected Exchange and Teams typed support separate from restore or certification claims', function (): void {
|
|
app(ResourceTypeRegistry::class)->syncDefaults();
|
|
|
|
$resourceTypes = TenantConfigurationResourceType::query()
|
|
->whereIn('canonical_type', ['transportRule', 'acceptedDomain', 'appPermissionPolicy', 'meetingPolicy'])
|
|
->get()
|
|
->keyBy('canonical_type');
|
|
|
|
expect($resourceTypes)->toHaveCount(4);
|
|
|
|
foreach ($resourceTypes as $resourceType) {
|
|
expect($resourceType->restore_tier === RestoreTier::Restorable)->toBeFalse()
|
|
->and($resourceType->allows_certified_claims)->toBeFalse()
|
|
->and($resourceType->default_claim_state)->toBe(ClaimState::InternalOnly)
|
|
->and($resourceType->default_coverage_level)->toBe(CoverageLevel::Detected)
|
|
->and($resourceType->metadata['customer_claims_allowed'] ?? null)->toBeFalse();
|
|
}
|
|
});
|