35 lines
2.0 KiB
PHP
35 lines
2.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Illuminate\Support\Collection;
|
|
use Tests\Support\TestLaneManifest;
|
|
|
|
it('excludes browser, discovery-heavy, and surface-guard families from fast-feedback discovery', function (): void {
|
|
$files = collect(TestLaneManifest::discoverFiles('fast-feedback'));
|
|
$discoveryValidation = TestLaneManifest::validateLanePlacement(
|
|
laneId: 'fast-feedback',
|
|
filePath: 'tests/Feature/Filament/PolicyResourceAdminSearchParityTest.php',
|
|
);
|
|
|
|
expect($files->contains(static fn (string $path): bool => str_starts_with($path, 'tests/Browser/')))->toBeFalse()
|
|
->and($files->contains(static fn (string $path): bool => str_starts_with($path, 'tests/Feature/OpsUx/')))->toBeFalse()
|
|
->and($files)->not->toContain('tests/Feature/Guards/ActionSurfaceContractTest.php')
|
|
->and($files->contains(static fn (string $path): bool => str_starts_with($path, 'tests/Architecture/')))->toBeFalse()
|
|
->and($files->contains(static fn (string $path): bool => str_starts_with($path, 'tests/Deprecation/')))->toBeFalse()
|
|
->and($discoveryValidation['valid'])->toBeFalse()
|
|
->and($discoveryValidation['resolvedClassificationId'])->toBe('discovery-heavy');
|
|
});
|
|
|
|
it('keeps fast-feedback focused on the quick-edit families the manifest declares', function (): void {
|
|
$files = new Collection(TestLaneManifest::discoverFiles('fast-feedback'));
|
|
|
|
expect($files->contains(static fn (string $path): bool => str_starts_with($path, 'tests/Unit/')))->toBeTrue()
|
|
->and($files->contains(static fn (string $path): bool => str_starts_with($path, 'tests/Feature/Guards/')))->toBeTrue()
|
|
->and($files)->not->toContain(
|
|
'tests/Feature/Baselines/BaselineCompareMatrixCompareAllActionTest.php',
|
|
'tests/Feature/Drift/DriftBulkAcknowledgeAllMatchingConfirmationTest.php',
|
|
'tests/Feature/Findings/FindingBulkActionsTest.php',
|
|
'tests/Feature/Rbac/OnboardingWizardUiEnforcementTest.php',
|
|
);
|
|
}); |