toHaveKeys([ 'test', 'test:fast', 'test:confidence', 'test:browser', 'test:heavy', 'test:profile', 'test:junit', 'sail:test', ]) ->and(TestLaneManifest::commandRef('fast-feedback'))->toBe('test') ->and(TestLaneManifest::commandRef('confidence'))->toBe('test:confidence') ->and(TestLaneManifest::commandRef('browser'))->toBe('test:browser') ->and(TestLaneManifest::commandRef('heavy-governance'))->toBe('test:heavy') ->and(TestLaneManifest::commandRef('profiling'))->toBe('test:profile') ->and(TestLaneManifest::commandRef('junit'))->toBe('test:junit'); }); it('keeps the host-side lane runner and report scripts checked in at repo root', function (): void { expect(file_exists(repo_path('scripts/platform-test-lane')))->toBeTrue() ->and(file_exists(repo_path('scripts/platform-test-report')))->toBeTrue(); }); it('routes the foundational lane commands through stable artisan arguments', function (): void { expect(TestLaneManifest::buildCommand('fast-feedback'))->toContain('--parallel') ->and(TestLaneManifest::buildCommand('fast-feedback'))->toContain('--group=fast-feedback') ->and(TestLaneManifest::buildCommand('fast-feedback'))->toContain('--testsuite=Unit,Feature') ->and(TestLaneManifest::buildCommand('confidence'))->toContain('--testsuite=Unit,Feature') ->and(TestLaneManifest::buildCommand('browser'))->toContain('--group=browser') ->and(TestLaneManifest::buildCommand('browser'))->toContain('--testsuite=Browser') ->and(TestLaneManifest::buildCommand('heavy-governance'))->toContain('--group=heavy-governance') ->and(TestLaneManifest::buildCommand('junit'))->toContain('--parallel'); });