@@ -249,13 +249,37 @@ def test_dependency_file_name_has_to_be_recognized(self) -> None:
249249 assert "Dependency file name not supported." in result .output
250250
251251 @patch ("twyn.cli.check_dependencies" )
252- def test_base_twyn_error_is_caught_and_wrapped_in_cli_error (self , mock_check_dependencies , caplog ):
252+ def test_custom_twyn_error_is_caught_and_wrapped_in_cli_error (self , mock_check_dependencies , caplog ):
253253 """Test that BaseTwynError is caught and wrapped in CliError."""
254+
255+ class CustomError (TwynError ):
256+ message = "Test base error message"
257+
258+ runner = CliRunner ()
259+
260+ # Mock check_dependencies to raise a BaseTwynError
261+ test_error = CustomError ("Custom error" )
262+ mock_check_dependencies .side_effect = test_error
263+
264+ result = runner .invoke (cli .run , ["--dependency" , "requests" ])
265+
266+ assert result .exit_code == 1
267+ assert isinstance (result .exception , SystemExit )
268+ # Check that the error message was logged
269+ assert "Custom error" in caplog .text
270+ assert "Test base error mesasge " not in caplog .text
271+
272+ @patch ("twyn.cli.check_dependencies" )
273+ def test_default_twyn_error_is_caught_and_wrapped_in_cli_error (self , mock_check_dependencies , caplog ):
274+ """Test that BaseTwynError is caught and wrapped in CliError."""
275+
276+ class CustomError (TwynError ):
277+ message = "Test base error message"
278+
254279 runner = CliRunner ()
255280
256281 # Mock check_dependencies to raise a BaseTwynError
257- test_error = TwynError ("Test base error" )
258- test_error .message = "Test base error message"
282+ test_error = CustomError ()
259283 mock_check_dependencies .side_effect = test_error
260284
261285 result = runner .invoke (cli .run , ["--dependency" , "requests" ])
0 commit comments