28 lines
1.2 KiB
PHP
28 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Support\Governance\PlatformVocabularyGlossary;
|
|
use App\Support\OperationCatalog;
|
|
|
|
it('keeps touched registry ownership metadata inside the allowed three-way boundary classification', function (): void {
|
|
$classifications = collect(app(PlatformVocabularyGlossary::class)->registries())
|
|
->map(static fn ($descriptor): string => $descriptor->boundaryClassification)
|
|
->unique()
|
|
->values()
|
|
->all();
|
|
|
|
expect($classifications)->toEqualCanonicalizing([
|
|
PlatformVocabularyGlossary::BOUNDARY_CROSS_DOMAIN_GOVERNANCE,
|
|
PlatformVocabularyGlossary::BOUNDARY_PLATFORM_CORE,
|
|
PlatformVocabularyGlossary::BOUNDARY_INTUNE_SPECIFIC,
|
|
]);
|
|
});
|
|
|
|
it('guards the false-universal policy_type alias behind explicit context-aware vocabulary helpers', function (): void {
|
|
$glossary = app(PlatformVocabularyGlossary::class);
|
|
|
|
expect($glossary->term('policy_type')?->boundaryClassification)->toBe(PlatformVocabularyGlossary::BOUNDARY_INTUNE_SPECIFIC)
|
|
->and($glossary->resolveAlias('policy_type', 'compare')?->termKey)->toBe('governed_subject')
|
|
->and(OperationCatalog::canonicalCode('baseline_capture'))->toBe('baseline.capture');
|
|
}); |