TenantAtlas/apps/platform/tests/Unit/TenantConfiguration/CoverageV2ReadinessBadgeTest.php
Ahmed Darrazi d1f7fbd4c6
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 1m15s
feat: add coverage v2 operator surface
2026-06-26 14:48:49 +02:00

28 lines
2.0 KiB
PHP

<?php
declare(strict_types=1);
use App\Support\Badges\BadgeCatalog;
use App\Support\Badges\BadgeDomain;
use App\Support\TenantConfiguration\ClaimState;
use App\Support\TenantConfiguration\CoverageLevel;
use App\Support\TenantConfiguration\EvidenceState;
use App\Support\TenantConfiguration\IdentityState;
use App\Support\TenantConfiguration\SourceClass;
use App\Support\TenantConfiguration\SupportState;
it('maps Coverage v2 readiness and diagnostic states through the badge catalog', function (): void {
expect(BadgeCatalog::spec(BadgeDomain::CoverageV2Readiness, 'ready')->label)->toBe('Ready')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2Readiness, 'needs_attention')->label)->toBe('Needs attention')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2Readiness, 'blocked')->label)->toBe('Blocked')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2CoverageLevel, CoverageLevel::ContentBacked)->label)->toBe('Content backed')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2EvidenceState, EvidenceState::PermissionBlocked)->label)->toBe('Permission blocked')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2IdentityState, IdentityState::IdentityConflict)->label)->toBe('Identity conflict')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2ClaimState, ClaimState::ClaimAllowed)->label)->toBe('Claim allowed')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2ClaimState, ClaimState::ClaimLimited)->label)->toBe('Claim limited')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2ClaimState, ClaimState::ClaimBlocked)->label)->toBe('Claim blocked')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2ClaimState, ClaimState::InternalOnly)->label)->toBe('Internal only')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2SupportState, SupportState::FallbackSupported)->label)->toBe('Fallback supported')
->and(BadgeCatalog::spec(BadgeDomain::CoverageV2SourceClass, SourceClass::GraphV1Fallback)->label)->toBe('Graph v1 fallback');
});