def test_open_in_browser_fail__no_browser_controller( self, mocker: MockerFixture, controller: Controller ) -> None: os.environ["DISPLAY"] = ":0" error = "No runnable browser found" mocked_report_error = mocker.patch(MODULE + ".Controller.report_error") mocker.patch(MODULE + ".webbrowser.get").side_effect = webbrowser.Error(error) controller.open_in_browser("https://chat.zulip.org/#narrow/stream/test") mocked_report_error.assert_called_once_with(f"ERROR: {error}")
def test_open_in_browser_success( self, mocker: MockerFixture, controller: Controller, url: str ) -> None: # Set DISPLAY environ to be able to run test in CI os.environ["DISPLAY"] = ":0" mocked_report_success = mocker.patch(MODULE + ".Controller.report_success") mock_get = mocker.patch(MODULE + ".webbrowser.get") mock_open = mock_get.return_value.open controller.open_in_browser(url) mock_open.assert_called_once_with(url) mocked_report_success.assert_called_once_with( f"The link was successfully opened using {mock_get.return_value.name}" )