@@ -93,6 +93,12 @@ describe("config helpers", () => {
9393 expect ( getConfigFromEnvVar ( "STACK_NAME" ) ) . toBe ( "primary" )
9494 } )
9595
96+ test ( "getConfigFromEnvVar returns the default value when env var is not set" , ( ) => {
97+ delete process . env . CDK_CONFIG_MISSING
98+
99+ expect ( getConfigFromEnvVar ( "MISSING" , "CDK_CONFIG_" , "fallback" ) ) . toBe ( "fallback" )
100+ } )
101+
96102 test ( "getConfigFromEnvVar throws when value is missing" , ( ) => {
97103 delete process . env . CDK_CONFIG_MISSING
98104
@@ -114,12 +120,31 @@ describe("config helpers", () => {
114120 expect ( getBooleanConfigFromEnvVar ( "OTHER_FLAG" ) ) . toBe ( false )
115121 } )
116122
123+ test ( "getBooleanConfigFromEnvVar uses default value when env var is not set" , ( ) => {
124+ delete process . env . CDK_CONFIG_BOOL_MISSING
125+
126+ expect ( getBooleanConfigFromEnvVar ( "BOOL_MISSING" , "CDK_CONFIG_" , "true" ) ) . toBe ( true )
127+ expect ( getBooleanConfigFromEnvVar ( "BOOL_MISSING" , "CDK_CONFIG_" , "false" ) ) . toBe ( false )
128+ } )
129+
117130 test ( "getNumberConfigFromEnvVar parses numeric strings" , ( ) => {
118131 process . env . CDK_CONFIG_TIMEOUT = "45"
119132
120133 expect ( getNumberConfigFromEnvVar ( "TIMEOUT" ) ) . toBe ( 45 )
121134 } )
122135
136+ test ( "getNumberConfigFromEnvVar uses default value when env var is not set" , ( ) => {
137+ delete process . env . CDK_CONFIG_NUM_MISSING
138+
139+ expect ( getNumberConfigFromEnvVar ( "NUM_MISSING" , "CDK_CONFIG_" , "99" ) ) . toBe ( 99 )
140+ } )
141+
142+ test ( "getConfigFromEnvVar ignores default value when env var is set" , ( ) => {
143+ process . env . CDK_CONFIG_STACK_NAME = "primary"
144+
145+ expect ( getConfigFromEnvVar ( "STACK_NAME" , "CDK_CONFIG_" , "ignored" ) ) . toBe ( "primary" )
146+ } )
147+
123148 test ( "getTrustStoreVersion returns the version ID from S3" , async ( ) => {
124149 mockCloudFormationSend . mockResolvedValueOnce ( {
125150 Stacks : [ {
0 commit comments