TenantAtlas/apps/platform/tests/Unit/TenantConfiguration/CoverageV2ReadinessBadgeTest.php
ahmido 4aaec3521a feat: add coverage v2 operator surface (#485)
Automated PR provided by Codex via Gitea API.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #485
2026-06-26 12:50:36 +00: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');
});