toHaveKeys(['junit', 'summary', 'budget', 'report', 'profile']); foreach (array_values($artifacts) as $relativePath) { expect($relativePath)->toStartWith('storage/logs/test-lanes/'); } }); it('keeps only the skeleton file checked into the lane artifact directory', function (): void { $gitignore = base_path('storage/logs/test-lanes/.gitignore'); expect(file_exists($gitignore))->toBeTrue() ->and((string) file_get_contents($gitignore))->toContain('*') ->and((string) file_get_contents($gitignore))->toContain('!.gitignore'); });