toBeTrue("Build pack '{$buildPack}' should require empty .env file"); } foreach ($buildPacksNotRequiringEnvFile as $buildPack) { // These build packs also use env_file but call save_runtime_environment_variables() // after generate_compose_file(), so they handle empty env files themselves $requiresEnvFile = ($buildPack === 'dockercompose' || $buildPack === 'dockerimage'); expect($requiresEnvFile)->toBeFalse("Build pack '{$buildPack}' should not match the condition"); } }); it('verifies dockerimage build pack is included in empty env file creation logic', function () { $buildPack = 'dockerimage'; $shouldCreateEmptyEnvFile = ($buildPack === 'dockercompose' || $buildPack === 'dockerimage'); expect($shouldCreateEmptyEnvFile)->toBeTrue( 'dockerimage build pack should create empty .env file when no environment variables are defined' ); }); it('verifies dockercompose build pack is included in empty env file creation logic', function () { $buildPack = 'dockercompose'; $shouldCreateEmptyEnvFile = ($buildPack === 'dockercompose' || $buildPack === 'dockerimage'); expect($shouldCreateEmptyEnvFile)->toBeTrue( 'dockercompose build pack should create empty .env file when no environment variables are defined' ); }); it('verifies other build packs are not included in empty env file creation logic', function () { $otherBuildPacks = ['dockerfile', 'nixpacks', 'static', 'buildpack']; foreach ($otherBuildPacks as $buildPack) { $shouldCreateEmptyEnvFile = ($buildPack === 'dockercompose' || $buildPack === 'dockerimage'); expect($shouldCreateEmptyEnvFile)->toBeFalse( "Build pack '{$buildPack}' should not create empty .env file in save_runtime_environment_variables()" ); } });