toBe(realpath(dirname(__DIR__, 3))) ->and(is_file(base_path('artisan')))->toBeTrue() ->and(is_dir(app_path()))->toBeTrue() ->and(is_file(config_path('app.php')))->toBeTrue() ->and(is_dir(database_path('migrations')))->toBeTrue() ->and(is_dir(lang_path('en')))->toBeTrue() ->and(is_file(public_path('index.php')))->toBeTrue() ->and(is_dir(storage_path('framework')))->toBeTrue() ->and(is_file(base_path('vendor/autoload.php')))->toBeTrue(); }); it('still exposes the repo root for repo owned artifacts', function (): void { expect(is_dir(repo_path()))->toBeTrue() ->and(is_file(repo_path('docker-compose.yml')))->toBeTrue() ->and(is_file(repo_path('specs/182-platform-relocation/spec.md')))->toBeTrue() ->and(is_file(repo_path('scripts/platform-sail')))->toBeTrue(); }); it('boots artisan from the relocated application root', function (): void { $exitCode = Artisan::call('about'); expect($exitCode)->toBe(0) ->and(Artisan::output())->toContain('Environment'); });