TenantAtlas/tests/Unit/Support/References/ReferenceStateBadgeMappingTest.php
ahmido 8ee1174c8d feat: add resolved reference presentation layer (#161)
## Summary
- add the shared resolved-reference foundation with registry, resolvers, presenters, and badge semantics
- refactor related context, assignment evidence, and policy-version assignment rendering toward label-first reference presentation
- add Spec 132 artifacts and focused Pest coverage for reference resolution, degraded states, canonical linking, and tenant-context carryover

## Verification
- `vendor/bin/sail bin pint --dirty --format agent`
- focused Pest verification was marked complete in the task artifact

## Notes
- this PR is opened from the current session branch
- `specs/132-guid-context-resolver/tasks.md` reflects in-progress completion state for the implemented tasks

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #161
2026-03-10 18:52:52 +00:00

21 lines
873 B
PHP

<?php
declare(strict_types=1);
use App\Support\References\ReferenceResolutionState;
use App\Support\References\ReferenceStatePresenter;
it('maps reference states to badge vocabulary', function (ReferenceResolutionState $state, string $label, string $color): void {
$badge = app(ReferenceStatePresenter::class)->badgeSpec($state);
expect($badge->label)->toBe($label)
->and($badge->color)->toBe($color);
})->with([
[ReferenceResolutionState::Resolved, 'Resolved', 'success'],
[ReferenceResolutionState::PartiallyResolved, 'Partially linked', 'warning'],
[ReferenceResolutionState::Unresolved, 'Unresolved', 'gray'],
[ReferenceResolutionState::DeletedOrMissing, 'Missing', 'gray'],
[ReferenceResolutionState::Inaccessible, 'Access denied', 'danger'],
[ReferenceResolutionState::ExternalLimitedContext, 'Provider-only', 'info'],
]);