@@ -177,6 +177,44 @@ def test_verify_requirements_jest_not_installed(self, js_support, project_with_v
177177 assert errors [0 ].message == expected_message
178178
179179
180+ class TestSetupTestConfig :
181+ """Tests for JavaScriptSupport.setup_test_config() early-exit behavior."""
182+
183+ @pytest .fixture
184+ def js_support (self ):
185+ return JavaScriptSupport ()
186+
187+ def test_setup_test_config_returns_false_on_abort_error (self , js_support , tmp_path ):
188+ """setup_test_config returns False when verify_js_requirements reports a should_abort error."""
189+ from codeflash .languages .base import SetupError
190+
191+ abort_error = SetupError ("Node.js is not installed" , should_abort = True )
192+ with (
193+ patch ("codeflash.languages.javascript.test_runner.find_node_project_root" , return_value = tmp_path .resolve ()),
194+ patch ("codeflash.languages.javascript.optimizer.verify_js_requirements" , return_value = [abort_error ]),
195+ ):
196+ test_cfg = MagicMock ()
197+ result = js_support .setup_test_config (test_cfg , tmp_path .resolve (), current_worktree = None )
198+ assert result is False
199+
200+ def test_setup_test_config_returns_true_on_no_errors (self , js_support , tmp_path ):
201+ """setup_test_config returns True when verify_js_requirements reports no errors."""
202+ with (
203+ patch ("codeflash.languages.javascript.test_runner.find_node_project_root" , return_value = tmp_path .resolve ()),
204+ patch ("codeflash.languages.javascript.optimizer.verify_js_requirements" , return_value = []),
205+ ):
206+ test_cfg = MagicMock ()
207+ result = js_support .setup_test_config (test_cfg , tmp_path .resolve (), current_worktree = None )
208+ assert result is True
209+
210+ def test_setup_test_config_returns_false_when_project_root_is_none (self , js_support , tmp_path ):
211+ """setup_test_config returns False when find_node_project_root returns None."""
212+ with patch ("codeflash.languages.javascript.test_runner.find_node_project_root" , return_value = None ):
213+ test_cfg = MagicMock ()
214+ result = js_support .setup_test_config (test_cfg , tmp_path .resolve (), current_worktree = None )
215+ assert result is False
216+
217+
180218class TestVerifyRequirementsIntegration :
181219 """Integration tests for verify_requirements with real filesystem."""
182220
0 commit comments