TenantAtlas/tests/Unit/Badges/InventoryCoverageStateBadgesTest.php
ahmido f52d52540c feat: implement inventory coverage truth (#208)
## Summary
- implement Spec 177 inventory coverage truth across resolver, badges, KPIs, coverage page, and operation run detail surfaces
- add repo-native spec artifacts for the feature under `specs/177-inventory-coverage-truth`
- add unit, feature, and browser coverage for truth derivation, continuity, and inventory item filter/pagination smoke paths

## Testing
- `vendor/bin/sail bin pint --dirty --format agent`
- focused Spec 177 browser smoke file passed with 2 tests / 57 assertions
- extended inventory-focused test pack passed with 52 tests / 434 assertions

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #208
2026-04-05 12:35:20 +00:00

35 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
use App\Support\Badges\BadgeCatalog;
use App\Support\Badges\BadgeDomain;
it('maps inventory coverage states to shared badge specs', function (): void {
expect(BadgeCatalog::spec(BadgeDomain::InventoryCoverageState, 'succeeded'))
->label->toBe('Succeeded')
->color->toBe('success')
->icon->toBe('heroicon-m-check-circle');
expect(BadgeCatalog::spec(BadgeDomain::InventoryCoverageState, 'failed'))
->label->toBe('Failed')
->color->toBe('danger')
->icon->toBe('heroicon-m-x-circle');
expect(BadgeCatalog::spec(BadgeDomain::InventoryCoverageState, 'skipped'))
->label->toBe('Skipped')
->color->toBe('warning')
->icon->toBe('heroicon-m-minus-circle');
expect(BadgeCatalog::spec(BadgeDomain::InventoryCoverageState, 'unknown'))
->label->toBe('Unknown')
->color->toBe('gray')
->icon->toBe('heroicon-m-question-mark-circle');
});
it('falls back safely for unsupported inventory coverage states', function (): void {
expect(BadgeCatalog::spec(BadgeDomain::InventoryCoverageState, 'not-real'))
->label->toBe('Unknown')
->color->toBe('gray');
});