def test_keypress_OPEN_DRAFT( self, view: View, mocker: MockerFixture, draft: Composition, key: str, autohide: bool, widget_size: Callable[[Widget], urwid_Box], ) -> None: view.body = mocker.Mock() view.body.contents = ["streams", "messages", "users"] view.left_panel = mocker.Mock() view.middle_column = mocker.Mock() view.right_panel = mocker.Mock() view.controller.autohide = autohide view.controller.report_error = mocker.Mock() view.controller.is_in_editor_mode = lambda: False view.model.stream_id_from_name.return_value = 10 view.model.session_draft_message.return_value = draft view.model.user_id_email_dict = { 1: "*****@*****.**", 2: "*****@*****.**" } mocked_stream_box_view = mocker.patch.object(view.write_box, "stream_box_view") mocked_private_box_view = mocker.patch.object(view.write_box, "private_box_view") size = widget_size(view) view.keypress(size, key) if draft: if draft["type"] == "stream": mocked_stream_box_view.assert_called_once_with( caption=draft["to"], title=draft["subject"], stream_id=10) else: mocked_private_box_view.assert_called_once_with( recipient_user_ids=draft["to"], ) assert view.body.focus_col == 1 assert view.write_box.msg_write_box.edit_text == draft["content"] assert view.write_box.msg_write_box.edit_pos == len( draft["content"]) view.middle_column.set_focus.assert_called_once_with("footer") else: view.controller.report_error.assert_called_once_with( "No draft message was saved in this session.")
def test_keypress_autohide_streams( self, view: View, mocker: MockerFixture, autohide: bool, key: str, widget_size: Callable[[Widget], urwid_Box], ) -> None: view.left_col_w = mocker.Mock() view.controller.autohide = autohide view.body = mocker.Mock() view.body.contents = [mocker.Mock(), "messages", "users"] view.left_panel = mocker.Mock() view.right_panel = mocker.Mock() size = widget_size(view) view.controller.is_in_editor_mode = lambda: False view.body.focus_position = None view.keypress(size, key) view.left_panel.keypress.assert_called_once_with(size, key) assert view.body.focus_position == 0
def test_keypress_STREAM_MESSAGE( self, view: View, mocker: MockerFixture, key: str, autohide: bool, widget_size: Callable[[Widget], urwid_Box], ) -> None: mocked_middle_column = mocker.patch.object(view, "middle_column", create=True) view.body = mocker.Mock() view.controller.autohide = autohide view.body.contents = ["streams", "messages", "users"] view.left_panel = mocker.Mock() view.right_panel = mocker.Mock() view.controller.is_in_editor_mode = lambda: False size = widget_size(view) returned_key = view.keypress(size, key) mocked_middle_column.keypress.assert_called_once_with(size, key) assert returned_key == key assert view.body.focus_col == 1