diff --git a/zulipterminal/api_types.py b/zulipterminal/api_types.py
index 8acf4d0..9bf3b5b 100644
--- a/zulipterminal/api_types.py
+++ b/zulipterminal/api_types.py
@@ -50,10 +50,12 @@ MessageType = Union[DirectMessageString, StreamMessageString]
 #
 # NOTE: `to` field could be email until ZFL 11/3.0; ids were possible from 2.0+
 
-# Timing parameters for when notifications should occur
-TYPING_STARTED_WAIT_PERIOD: Final = 10
-TYPING_STOPPED_WAIT_PERIOD: Final = 5
-TYPING_STARTED_EXPIRY_PERIOD: Final = 15  # TODO: Needs implementation in ZT
+# In ZFL 204, these values were made server-configurable
+# Before this feature level, these values were fixed as follows:
+# Timing parameters for when notifications should occur (in milliseconds)
+TYPING_STARTED_WAIT_PERIOD: Final = 10000
+TYPING_STOPPED_WAIT_PERIOD: Final = 5000
+TYPING_STARTED_EXPIRY_PERIOD: Final = 15000  # TODO: Needs implementation in ZT
 
 TypingStatusChange = Literal["start", "stop"]
 
diff --git a/zulipterminal/model.py b/zulipterminal/model.py
index 9c6fce6..22988c6 100644
--- a/zulipterminal/model.py
+++ b/zulipterminal/model.py
@@ -34,6 +34,9 @@ from zulipterminal.api_types import (
     MAX_MESSAGE_LENGTH,
     MAX_STREAM_NAME_LENGTH,
     MAX_TOPIC_NAME_LENGTH,
+    TYPING_STARTED_EXPIRY_PERIOD,
+    TYPING_STARTED_WAIT_PERIOD,
+    TYPING_STOPPED_WAIT_PERIOD,
     Composition,
     CustomFieldValue,
     DirectTypingNotification,
@@ -214,6 +217,7 @@ class Model:
         self._draft: Optional[Composition] = None
 
         self._store_content_length_restrictions()
+        self._store_typing_duration_settings()
 
         self.active_emoji_data, self.all_emoji_names = self.generate_all_emoji_data(
             self.initial_data["realm_emoji"]
@@ -791,6 +795,25 @@ class Model:
             "max_message_length", MAX_MESSAGE_LENGTH
         )
 
+    def _store_typing_duration_settings(self) -> None:
+        """
+        Store typing duration fields in model.
+        In ZFL 204, these values were made server-configurable.
+        Uses default values if not received from server.
+        """
+        self.typing_started_wait_period = self.initial_data.get(
+            "server_typing_started_wait_period_milliseconds",
+            TYPING_STARTED_WAIT_PERIOD,
+        )
+        self.typing_stopped_wait_period = self.initial_data.get(
+            "server_typing_stopped_wait_period_milliseconds",
+            TYPING_STOPPED_WAIT_PERIOD,
+        )
+        self.typing_started_expiry_period = self.initial_data.get(
+            "server_typing_started_expiry_period_milliseconds",
+            TYPING_STARTED_EXPIRY_PERIOD,
+        )
+
     @staticmethod
     def modernize_message_response(message: Message) -> Message:
         """
diff --git a/zulipterminal/ui_tools/boxes.py b/zulipterminal/ui_tools/boxes.py
index db5f396..6867d5a 100644
--- a/zulipterminal/ui_tools/boxes.py
+++ b/zulipterminal/ui_tools/boxes.py
@@ -13,13 +13,7 @@ import urwid
 from typing_extensions import Literal
 from urwid_readline import ReadlineEdit
 
-from zulipterminal.api_types import (
-    TYPING_STARTED_WAIT_PERIOD,
-    TYPING_STOPPED_WAIT_PERIOD,
-    Composition,
-    PrivateComposition,
-    StreamComposition,
-)
+from zulipterminal.api_types import Composition, PrivateComposition, StreamComposition
 from zulipterminal.config.keys import (
     is_command_key,
     keys_for_command,
@@ -237,8 +231,12 @@ class WriteBox(urwid.Pile):
         ]
         self.focus_position = self.FOCUS_CONTAINER_MESSAGE
 
-        start_period_delta = timedelta(seconds=TYPING_STARTED_WAIT_PERIOD)
-        stop_period_delta = timedelta(seconds=TYPING_STOPPED_WAIT_PERIOD)
+        start_period_delta = timedelta(
+            milliseconds=self.model.typing_started_wait_period
+        )
+        stop_period_delta = timedelta(
+            milliseconds=self.model.typing_stopped_wait_period
+        )
 
         def on_type_send_status(edit: object, new_edit_text: str) -> None:
             if new_edit_text and self.typing_recipient_user_ids:

diff --git a/tests/model/test_model.py b/tests/model/test_model.py
index 915621f..51c71eb 100644
--- a/tests/model/test_model.py
+++ b/tests/model/test_model.py
@@ -14,6 +14,9 @@ from zulipterminal.model import (
     MAX_MESSAGE_LENGTH,
     MAX_STREAM_NAME_LENGTH,
     MAX_TOPIC_NAME_LENGTH,
+    TYPING_STARTED_EXPIRY_PERIOD,
+    TYPING_STARTED_WAIT_PERIOD,
+    TYPING_STOPPED_WAIT_PERIOD,
     Model,
     ServerConnectionFailure,
     UserSettings,
@@ -1391,6 +1394,45 @@ class TestModel:
             assert model.max_topic_length == MAX_TOPIC_NAME_LENGTH
             assert model.max_message_length == MAX_MESSAGE_LENGTH
 
+    def test__store_typing_duration_settings__default_values(self, model, initial_data):
+        model.initial_data = initial_data
+
+        model._store_typing_duration_settings()
+
+        assert model.typing_started_wait_period == TYPING_STARTED_WAIT_PERIOD
+        assert model.typing_stopped_wait_period == TYPING_STOPPED_WAIT_PERIOD
+        assert model.typing_started_expiry_period == TYPING_STARTED_EXPIRY_PERIOD
+
+    def test__store_typing_duration_settings__with_values(
+        self,
+        model,
+        initial_data,
+        feature_level=204,
+        typing_started_wait=7500,
+        typing_stopped_wait=3000,
+        typing_started_expiry=10000,
+    ):
+        # Ensure inputs are not the defaults, to avoid the test accidentally passing
+        assert typing_started_wait != TYPING_STARTED_WAIT_PERIOD
+        assert typing_stopped_wait != TYPING_STOPPED_WAIT_PERIOD
+        assert typing_started_expiry != TYPING_STARTED_EXPIRY_PERIOD
+
+        to_vary_in_initial_data = {
+            "server_typing_started_wait_period_milliseconds": typing_started_wait,
+            "server_typing_stopped_wait_period_milliseconds": typing_stopped_wait,
+            "server_typing_started_expiry_period_milliseconds": typing_started_expiry,
+        }
+
+        initial_data.update(to_vary_in_initial_data)
+        model.initial_data = initial_data
+        model.server_feature_level = feature_level
+
+        model._store_typing_duration_settings()
+
+        assert model.typing_started_wait_period == typing_started_wait
+        assert model.typing_stopped_wait_period == typing_stopped_wait
+        assert model.typing_started_expiry_period == typing_started_expiry
+
     def test_get_message_false_first_anchor(
         self,
         mocker,
diff --git a/tests/ui_tools/test_boxes.py b/tests/ui_tools/test_boxes.py
index 869cc98..dbdd082 100644
--- a/tests/ui_tools/test_boxes.py
+++ b/tests/ui_tools/test_boxes.py
@@ -7,6 +7,11 @@ from pytest import param as case
 from pytest_mock import MockerFixture
 from urwid import Widget
 
+from zulipterminal.api_types import (
+    TYPING_STARTED_EXPIRY_PERIOD,
+    TYPING_STARTED_WAIT_PERIOD,
+    TYPING_STOPPED_WAIT_PERIOD,
+)
 from zulipterminal.config.keys import keys_for_command, primary_key_for_command
 from zulipterminal.config.symbols import (
     INVALID_MARKER,
@@ -50,6 +55,9 @@ class TestWriteBox:
         write_box.model.max_stream_name_length = 60
         write_box.model.max_topic_length = 60
         write_box.model.max_message_length = 10000
+        write_box.model.typing_started_wait_period = TYPING_STARTED_WAIT_PERIOD
+        write_box.model.typing_stopped_wait_period = TYPING_STOPPED_WAIT_PERIOD
+        write_box.model.typing_started_expiry_period = TYPING_STARTED_EXPIRY_PERIOD
         write_box.model.user_group_names = [
             groups["name"] for groups in user_groups_fixture
         ]

Respect server typing notification duration settings
Prior to Feature level 204 (Zulip 8.0) typing notification values were expected to be fixed values, as listed in `api_types.py`.

From this feature level (https://zulip.com/api/changelog), the server expects clients to use various `server_typing_*_milliseconds` values returned from `register` instead.

Note that we need to fall back to the fixed values for earlier server versions, so those versions should be retained in the current source file, and tests should ensure that the values are correct.

Code which uses these values should not directly access these values, but now query the model instead.
tests/model/test_model.py::TestModel::test_init tests/model/test_model.py::TestModel::test_init_user_settings[None-True] tests/model/test_model.py::TestModel::test_init_user_settings[True-True] tests/model/test_model.py::TestModel::test_init_user_settings[False-False] tests/model/test_model.py::TestModel::test_user_settings_expected_contents tests/model/test_model.py::TestModel::test_init_muted_topics[zulip_feature_level:None] tests/model/test_model.py::TestModel::test_init_muted_topics[zulip_feature_level:1] tests/model/test_model.py::TestModel::test_init_InvalidAPIKey_response tests/model/test_model.py::TestModel::test_init_ZulipError_exception tests/model/test_model.py::TestModel::test_register_initial_desired_events tests/model/test_model.py::TestModel::test_normalize_and_cache_message_retention_text[ZFL=None_no_stream_retention_realm_retention=None] tests/model/test_model.py::TestModel::test_normalize_and_cache_message_retention_text[ZFL=16_no_stream_retention_realm_retention=-1] tests/model/test_model.py::TestModel::test_normalize_and_cache_message_retention_text[ZFL=17_stream_retention_days=30] tests/model/test_model.py::TestModel::test_normalize_and_cache_message_retention_text[ZFL=18_stream_retention_days=[None, tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow0-1] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow0-5] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow0-None] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow1-1] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow1-5] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow1-None] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow2-1] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow2-5] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow2-None] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow3-1] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow3-5] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow3-None] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow4-1] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow4-5] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow4-None] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow5-1] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow5-5] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow5-None] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow6-1] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow6-5] tests/model/test_model.py::TestModel::test_get_focus_in_current_narrow_individually[narrow6-None] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow0-1] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow0-5] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow1-1] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow1-5] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow2-1] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow2-5] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow3-1] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow3-5] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow4-1] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow4-5] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow5-1] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow5-5] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow6-1] tests/model/test_model.py::TestModel::test_set_focus_in_current_narrow[narrow6-5] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow0-False] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow1-True] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow2-False] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow3-True] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow4-True] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow5-False] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow6-True] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow7-False] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow8-True] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow9-True] tests/model/test_model.py::TestModel::test_is_search_narrow[narrow10-True] tests/model/test_model.py::TestModel::test_set_narrow_bad_input[bad_args0] tests/model/test_model.py::TestModel::test_set_narrow_bad_input[bad_args1] tests/model/test_model.py::TestModel::test_set_narrow_bad_input[bad_args2] tests/model/test_model.py::TestModel::test_set_narrow_bad_input[bad_args3] tests/model/test_model.py::TestModel::test_set_narrow_already_set[narrow0-good_args0] tests/model/test_model.py::TestModel::test_set_narrow_already_set[narrow1-good_args1] tests/model/test_model.py::TestModel::test_set_narrow_already_set[narrow2-good_args2] tests/model/test_model.py::TestModel::test_set_narrow_already_set[narrow3-good_args3] tests/model/test_model.py::TestModel::test_set_narrow_already_set[narrow4-good_args4] tests/model/test_model.py::TestModel::test_set_narrow_already_set[narrow5-good_args5] tests/model/test_model.py::TestModel::test_set_narrow_already_set[narrow6-good_args6] tests/model/test_model.py::TestModel::test_set_narrow_not_already_set[initial_narrow0-narrow0-good_args0] tests/model/test_model.py::TestModel::test_set_narrow_not_already_set[initial_narrow1-narrow1-good_args1] tests/model/test_model.py::TestModel::test_set_narrow_not_already_set[initial_narrow2-narrow2-good_args2] tests/model/test_model.py::TestModel::test_set_narrow_not_already_set[initial_narrow3-narrow3-good_args3] tests/model/test_model.py::TestModel::test_set_narrow_not_already_set[initial_narrow4-narrow4-good_args4] tests/model/test_model.py::TestModel::test_set_narrow_not_already_set[initial_narrow5-narrow5-good_args5] tests/model/test_model.py::TestModel::test_set_narrow_not_already_set[initial_narrow6-narrow6-good_args6] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow0-index0-current_ids0] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow1-index1-current_ids1] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow2-index2-current_ids2] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow3-index3-current_ids3] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow4-index4-current_ids4] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow5-index5-current_ids5] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow6-index6-current_ids6] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow7-index7-current_ids7] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow8-index8-current_ids8] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow9-index9-current_ids9] tests/model/test_model.py::TestModel::test_get_message_ids_in_current_narrow[narrow10-index10-current_ids10] tests/model/test_model.py::TestModel::test__fetch_topics_in_streams[response0-expected_index0-] tests/model/test_model.py::TestModel::test__fetch_topics_in_streams[response1-expected_index1-] tests/model/test_model.py::TestModel::test__fetch_topics_in_streams[response2-expected_index2-Some tests/model/test_model.py::TestModel::test_topics_in_stream[topics_index0-False] tests/model/test_model.py::TestModel::test_topics_in_stream[topics_index1-True] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_original_no_existing_emoji-user_id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_original_no_existing_emoji-id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_original_no_existing_emoji-None] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_realm_original_no_existing_emoji-user_id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_realm_original_no_existing_emoji-id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_realm_original_no_existing_emoji-None] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_original_mine_existing_different_emoji-user_id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_original_mine_existing_different_emoji-id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_original_mine_existing_different_emoji-None] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_zulip_original_mine_existing_different_emoji-user_id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_zulip_original_mine_existing_different_emoji-id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_zulip_original_mine_existing_different_emoji-None] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_original_others_existing_same_emoji-user_id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_original_others_existing_same_emoji-id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_original_others_existing_same_emoji-None] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_alias_others_existing_same_emoji-user_id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_alias_others_existing_same_emoji-id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[add_unicode_alias_others_existing_same_emoji-None] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[remove_unicode_original_mine_existing_same_emoji-user_id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[remove_unicode_original_mine_existing_same_emoji-id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[remove_unicode_original_mine_existing_same_emoji-None] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[remove_unicode_alias_mine_existing_same_emoji-user_id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[remove_unicode_alias_mine_existing_same_emoji-id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[remove_unicode_alias_mine_existing_same_emoji-None] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[remove_zulip_original_mine_existing_same_emoji-user_id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[remove_zulip_original_mine_existing_same_emoji-id] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_valid_emoji[remove_zulip_original_mine_existing_same_emoji-None] tests/model/test_model.py::TestModel::test_toggle_message_reaction_with_invalid_emoji tests/model/test_model.py::TestModel::test_has_user_reacted_to_message[id_inside_user_field__user_not_reacted] tests/model/test_model.py::TestModel::test_has_user_reacted_to_message[user_id_inside_user_field__user_has_reacted] tests/model/test_model.py::TestModel::test_has_user_reacted_to_message[no_user_field_with_user_id__user_has_reacted] tests/model/test_model.py::TestModel::test_has_user_reacted_to_message[no_user_field_with_user_id__user_not_reacted] tests/model/test_model.py::TestModel::test_send_typing_status_by_user_ids[start-recipient_user_ids0] tests/model/test_model.py::TestModel::test_send_typing_status_by_user_ids[start-recipient_user_ids1] tests/model/test_model.py::TestModel::test_send_typing_status_by_user_ids[stop-recipient_user_ids0] tests/model/test_model.py::TestModel::test_send_typing_status_by_user_ids[stop-recipient_user_ids1] tests/model/test_model.py::TestModel::test_send_typing_status_with_no_recipients[start] tests/model/test_model.py::TestModel::test_send_typing_status_with_no_recipients[stop] tests/model/test_model.py::TestModel::test_send_typing_status_avoided_due_to_user_setting[start-recipient_user_ids0] tests/model/test_model.py::TestModel::test_send_typing_status_avoided_due_to_user_setting[start-recipient_user_ids1] tests/model/test_model.py::TestModel::test_send_typing_status_avoided_due_to_user_setting[stop-recipient_user_ids0] tests/model/test_model.py::TestModel::test_send_typing_status_avoided_due_to_user_setting[stop-recipient_user_ids1] tests/model/test_model.py::TestModel::test_send_private_message[recipients0-response0-True] tests/model/test_model.py::TestModel::test_send_private_message[recipients0-response1-False] tests/model/test_model.py::TestModel::test_send_private_message[recipients1-response0-True] tests/model/test_model.py::TestModel::test_send_private_message[recipients1-response1-False] tests/model/test_model.py::TestModel::test_send_private_message_with_no_recipients tests/model/test_model.py::TestModel::test_send_stream_message[response0-True] tests/model/test_model.py::TestModel::test_send_stream_message[response1-False] tests/model/test_model.py::TestModel::test_update_private_message[response0-True] tests/model/test_model.py::TestModel::test_update_private_message[response1-False] tests/model/test_model.py::TestModel::test_update_stream_message[topic_passed_but_same_so_not_changed:content_changed-API_success] tests/model/test_model.py::TestModel::test_update_stream_message[topic_passed_but_same_so_not_changed:content_changed-API_error] tests/model/test_model.py::TestModel::test_update_stream_message[topic_changed[one]-API_success] tests/model/test_model.py::TestModel::test_update_stream_message[topic_changed[one]-API_error] tests/model/test_model.py::TestModel::test_update_stream_message[topic_passed_but_same_so_not_changed[all]-API_success] tests/model/test_model.py::TestModel::test_update_stream_message[topic_passed_but_same_so_not_changed[all]-API_error] tests/model/test_model.py::TestModel::test_update_stream_message[topic_passed_but_same_so_not_changed[later]:content_changed-API_success] tests/model/test_model.py::TestModel::test_update_stream_message[topic_passed_but_same_so_not_changed[later]:content_changed-API_error] tests/model/test_model.py::TestModel::test_update_stream_message[topic_changed[later]:content_changed-API_success] tests/model/test_model.py::TestModel::test_update_stream_message[topic_changed[later]:content_changed-API_error] tests/model/test_model.py::TestModel::test_update_stream_message[topic_changed[one]:content_changed-API_success] tests/model/test_model.py::TestModel::test_update_stream_message[topic_changed[one]:content_changed-API_error] tests/model/test_model.py::TestModel::test_update_stream_message[topic_changed[all]:content_changed-API_success] tests/model/test_model.py::TestModel::test_update_stream_message[topic_changed[all]:content_changed-API_error] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args0-False-False-None-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args0-False-False-8-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args0-False-False-9-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args0-False-False-152-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args1-False-False-None-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args1-False-False-8-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args1-False-False-9-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args1-False-False-152-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args2-False-False-None-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args2-False-False-8-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args2-False-False-9-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args2-False-False-152-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args3-True-False-None-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args3-True-False-8-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args3-True-False-9-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args3-True-False-152-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args4-False-True-None-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args4-False-True-8-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args4-False-True-9-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args4-False-True-152-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args5-True-True-None-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args5-True-True-8-False] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args5-True-True-9-True] tests/model/test_model.py::TestModel::test_update_stream_message__notify_thread_vs_ZFL[notify_args5-True-True-152-True] tests/model/test_model.py::TestModel::test_get_latest_message_in_topic[response0-return_value0] tests/model/test_model.py::TestModel::test_get_latest_message_in_topic[response1-None] tests/model/test_model.py::TestModel::test_get_latest_message_in_topic[response2-None] tests/model/test_model.py::TestModel::test_get_latest_message_in_topic[response3-None] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_msg_disabled:PreZulip4.0-None-_] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_msg_disabled:PreZulip4.0-user_role1-_owner] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_msg_disabled:PreZulip4.0-user_role2-_admin] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_msg_disabled:PreZulip4.0-user_role3-_moderator] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_msg_disabled:PreZulip4.0-user_role4-_member] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_msg_disabled:PreZulip4.0-user_role5-_guest] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_disabled:PreZulip4.0-None-_] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_disabled:PreZulip4.0-user_role1-_owner] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_disabled:PreZulip4.0-user_role2-_admin] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_disabled:PreZulip4.0-user_role3-_moderator] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_disabled:PreZulip4.0-user_role4-_member] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_disabled:PreZulip4.0-user_role5-_guest] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_and_msg_enabled:PreZulip4.0-None-_] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_and_msg_enabled:PreZulip4.0-user_role1-_owner] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_and_msg_enabled:PreZulip4.0-user_role2-_admin] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_and_msg_enabled:PreZulip4.0-user_role3-_moderator] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_and_msg_enabled:PreZulip4.0-user_role4-_member] tests/model/test_model.py::TestModel::test_can_user_edit_topic[editing_topic_and_msg_enabled:PreZulip4.0-user_role5-_guest] tests/model/test_model.py::TestModel::test_can_user_edit_topic[all_but_no_editing:Zulip4.0+:ZFL75-None-_] tests/model/test_model.py::TestModel::test_can_user_edit_topic[all_but_no_editing:Zulip4.0+:ZFL75-user_role1-_owner] tests/model/test_model.py::TestModel::test_can_user_edit_topic[all_but_no_editing:Zulip4.0+:ZFL75-user_role2-_admin] tests/model/test_model.py::TestModel::test_can_user_edit_topic[all_but_no_editing:Zulip4.0+:ZFL75-user_role3-_moderator] tests/model/test_model.py::TestModel::test_can_user_edit_topic[all_but_no_editing:Zulip4.0+:ZFL75-user_role4-_member] tests/model/test_model.py::TestModel::test_can_user_edit_topic[all_but_no_editing:Zulip4.0+:ZFL75-user_role5-_guest] tests/model/test_model.py::TestModel::test_can_user_edit_topic[members:Zulip4.0+:ZFL75-None-_] tests/model/test_model.py::TestModel::test_can_user_edit_topic[members:Zulip4.0+:ZFL75-user_role1-_owner] tests/model/test_model.py::TestModel::test_can_user_edit_topic[members:Zulip4.0+:ZFL75-user_role2-_admin] tests/model/test_model.py::TestModel::test_can_user_edit_topic[members:Zulip4.0+:ZFL75-user_role3-_moderator] tests/model/test_model.py::TestModel::test_can_user_edit_topic[members:Zulip4.0+:ZFL75-user_role4-_member] tests/model/test_model.py::TestModel::test_can_user_edit_topic[members:Zulip4.0+:ZFL75-user_role5-_guest] tests/model/test_model.py::TestModel::test_can_user_edit_topic[admins:Zulip4.0+:ZFL75-None-_] tests/model/test_model.py::TestModel::test_can_user_edit_topic[admins:Zulip4.0+:ZFL75-user_role1-_owner] tests/model/test_model.py::TestModel::test_can_user_edit_topic[admins:Zulip4.0+:ZFL75-user_role2-_admin] tests/model/test_model.py::TestModel::test_can_user_edit_topic[admins:Zulip4.0+:ZFL75-user_role3-_moderator] tests/model/test_model.py::TestModel::test_can_user_edit_topic[admins:Zulip4.0+:ZFL75-user_role4-_member] tests/model/test_model.py::TestModel::test_can_user_edit_topic[admins:Zulip4.0+:ZFL75-user_role5-_guest] tests/model/test_model.py::TestModel::test_can_user_edit_topic[full_members:Zulip4.0+:ZFL75-None-_] tests/model/test_model.py::TestModel::test_can_user_edit_topic[full_members:Zulip4.0+:ZFL75-user_role1-_owner] tests/model/test_model.py::TestModel::test_can_user_edit_topic[full_members:Zulip4.0+:ZFL75-user_role2-_admin] tests/model/test_model.py::TestModel::test_can_user_edit_topic[full_members:Zulip4.0+:ZFL75-user_role3-_moderator] tests/model/test_model.py::TestModel::test_can_user_edit_topic[full_members:Zulip4.0+:ZFL75-user_role4-_member] tests/model/test_model.py::TestModel::test_can_user_edit_topic[full_members:Zulip4.0+:ZFL75-user_role5-_guest] tests/model/test_model.py::TestModel::test_can_user_edit_topic[moderators:Zulip4.0+:ZFL75-None-_] tests/model/test_model.py::TestModel::test_can_user_edit_topic[moderators:Zulip4.0+:ZFL75-user_role1-_owner] tests/model/test_model.py::TestModel::test_can_user_edit_topic[moderators:Zulip4.0+:ZFL75-user_role2-_admin] tests/model/test_model.py::TestModel::test_can_user_edit_topic[moderators:Zulip4.0+:ZFL75-user_role3-_moderator] tests/model/test_model.py::TestModel::test_can_user_edit_topic[moderators:Zulip4.0+:ZFL75-user_role4-_member] tests/model/test_model.py::TestModel::test_can_user_edit_topic[moderators:Zulip4.0+:ZFL75-user_role5-_guest] tests/model/test_model.py::TestModel::test_can_user_edit_topic[guests:Zulip4.0+:ZFL75-None-_] tests/model/test_model.py::TestModel::test_can_user_edit_topic[guests:Zulip4.0+:ZFL75-user_role1-_owner] tests/model/test_model.py::TestModel::test_can_user_edit_topic[guests:Zulip4.0+:ZFL75-user_role2-_admin] tests/model/test_model.py::TestModel::test_can_user_edit_topic[guests:Zulip4.0+:ZFL75-user_role3-_moderator] tests/model/test_model.py::TestModel::test_can_user_edit_topic[guests:Zulip4.0+:ZFL75-user_role4-_member] tests/model/test_model.py::TestModel::test_can_user_edit_topic[guests:Zulip4.0+:ZFL75-user_role5-_guest] tests/model/test_model.py::TestModel::test_success_get_messages tests/model/test_model.py::TestModel::test_modernize_message_response[Zulip_4.0+_ZFL46_response_with_topic_links] tests/model/test_model.py::TestModel::test_modernize_message_response[Zulip_3.0+_ZFL1_response_with_topic_links] tests/model/test_model.py::TestModel::test_modernize_message_response[Zulip_3.0+_ZFL1_response_empty_topic_links] tests/model/test_model.py::TestModel::test_modernize_message_response[Zulip_2.1+_response_with_subject_links] tests/model/test_model.py::TestModel::test_modernize_message_response[Zulip_2.1+_response_empty_subject_links] tests/model/test_model.py::TestModel::test__store_content_length_restrictions[Zulip_2.1.x_ZFL_None_no_restrictions] tests/model/test_model.py::TestModel::test__store_content_length_restrictions[Zulip_3.1.x_ZFL_27_no_restrictions] tests/model/test_model.py::TestModel::test__store_content_length_restrictions[Zulip_4.0.x_ZFL_52_no_restrictions] tests/model/test_model.py::TestModel::test__store_content_length_restrictions[Zulip_4.0.x_ZFL_53_with_restrictions] tests/model/test_model.py::TestModel::test__store_typing_duration_settings__default_values tests/model/test_model.py::TestModel::test__store_typing_duration_settings__with_values tests/model/test_model.py::TestModel::test_get_message_false_first_anchor tests/model/test_model.py::TestModel::test_fail_get_messages tests/model/test_model.py::TestModel::test_fetch_raw_message_content[response0-Feels tests/model/test_model.py::TestModel::test_fetch_raw_message_content[response1-None-True] tests/model/test_model.py::TestModel::test_toggle_stream_muted_status[muting_205] tests/model/test_model.py::TestModel::test_toggle_stream_muted_status[unmuting_205] tests/model/test_model.py::TestModel::test_toggle_stream_muted_status[first_muted_205] tests/model/test_model.py::TestModel::test_toggle_stream_muted_status[last_unmuted_205] tests/model/test_model.py::TestModel::test_stream_access_type tests/model/test_model.py::TestModel::test_toggle_message_star_status[flags_before0-add] tests/model/test_model.py::TestModel::test_toggle_message_star_status[flags_before1-remove] tests/model/test_model.py::TestModel::test_toggle_message_star_status[flags_before2-add] tests/model/test_model.py::TestModel::test_toggle_message_star_status[flags_before3-remove] tests/model/test_model.py::TestModel::test_toggle_message_star_status[flags_before4-remove] tests/model/test_model.py::TestModel::test_mark_message_ids_as_read tests/model/test_model.py::TestModel::test_mark_message_ids_as_read_empty_message_view tests/model/test_model.py::TestModel::test__update_initial_data tests/model/test_model.py::TestModel::test__group_info_from_realm_user_groups tests/model/test_model.py::TestModel::test__clean_and_order_custom_profile_data tests/model/test_model.py::TestModel::test_get_user_info[user_full_name] tests/model/test_model.py::TestModel::test_get_user_info[user_empty_full_name] tests/model/test_model.py::TestModel::test_get_user_info[user_email] tests/model/test_model.py::TestModel::test_get_user_info[user_empty_email] tests/model/test_model.py::TestModel::test_get_user_info[user_date_joined] tests/model/test_model.py::TestModel::test_get_user_info[user_empty_date_joined] tests/model/test_model.py::TestModel::test_get_user_info[user_timezone] tests/model/test_model.py::TestModel::test_get_user_info[user_empty_timezone] tests/model/test_model.py::TestModel::test_get_user_info[user_bot_type] tests/model/test_model.py::TestModel::test_get_user_info[user_empty_bot_type] tests/model/test_model.py::TestModel::test_get_user_info[user_is_owner:Zulip_4.0+_ZFL59] tests/model/test_model.py::TestModel::test_get_user_info[user_is_admin:Zulip_4.0+_ZFL59] tests/model/test_model.py::TestModel::test_get_user_info[user_is_moderator:Zulip_4.0+_ZFL60] tests/model/test_model.py::TestModel::test_get_user_info[user_is_guest:Zulip_4.0+_ZFL59] tests/model/test_model.py::TestModel::test_get_user_info[user_is_member] tests/model/test_model.py::TestModel::test_get_user_info[user_is_owner:Zulip_3.0+] tests/model/test_model.py::TestModel::test_get_user_info[user_is_admin:preZulip_4.0] tests/model/test_model.py::TestModel::test_get_user_info[user_is_guest:preZulip_4.0] tests/model/test_model.py::TestModel::test_get_user_info[user_is_bot] tests/model/test_model.py::TestModel::test_get_user_info[user_bot_has_owner:Zulip_3.0+_ZFL1] tests/model/test_model.py::TestModel::test_get_user_info[user_bot_has_owner:preZulip_3.0] tests/model/test_model.py::TestModel::test_get_user_info[user_bot_has_no_owner] tests/model/test_model.py::TestModel::test_get_user_info[user_has_custom_profile_data] tests/model/test_model.py::TestModel::test_get_user_info_USER_NOT_FOUND tests/model/test_model.py::TestModel::test_get_user_info_sample_response tests/model/test_model.py::TestModel::test__update_users_data_from_initial_data tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled0-muted0] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled0-muted1] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled0-muted2] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled0-muted3] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled1-muted0] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled1-muted1] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled1-muted2] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled1-muted3] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled2-muted0] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled2-muted1] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled2-muted2] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled2-muted3] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled3-muted0] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled3-muted1] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled3-muted2] tests/model/test_model.py::TestModel::test__subscribe_to_streams[visual_notification_enabled3-muted3] tests/model/test_model.py::TestModel::test__handle_message_event_with_Falsey_log[stream_message] tests/model/test_model.py::TestModel::test__handle_message_event_with_Falsey_log[pm_message] tests/model/test_model.py::TestModel::test__handle_message_event_with_Falsey_log[group_pm_message] tests/model/test_model.py::TestModel::test__handle_message_event_with_valid_log[stream_message] tests/model/test_model.py::TestModel::test__handle_message_event_with_valid_log[pm_message] tests/model/test_model.py::TestModel::test__handle_message_event_with_valid_log[group_pm_message] tests/model/test_model.py::TestModel::test__handle_message_event_with_flags[stream_message] tests/model/test_model.py::TestModel::test__handle_message_event_with_flags[pm_message] tests/model/test_model.py::TestModel::test__handle_message_event_with_flags[group_pm_message] tests/model/test_model.py::TestModel::test__handle_message_event[stream_to_all_messages] tests/model/test_model.py::TestModel::test__handle_message_event[private_to_all_private] tests/model/test_model.py::TestModel::test__handle_message_event[stream_to_stream] tests/model/test_model.py::TestModel::test__handle_message_event[stream_to_topic] tests/model/test_model.py::TestModel::test__handle_message_event[stream_to_different_stream_same_topic] tests/model/test_model.py::TestModel::test__handle_message_event[user_pm_x_appears_in_narrow_with_x] tests/model/test_model.py::TestModel::test__handle_message_event[search] tests/model/test_model.py::TestModel::test__handle_message_event[user_pm_x_does_not_appear_in_narrow_without_x] tests/model/test_model.py::TestModel::test__handle_message_event[mentioned_msg_in_mentioned_msg_narrow] tests/model/test_model.py::TestModel::test__update_topic_index[reorder_topic3] tests/model/test_model.py::TestModel::test__update_topic_index[topic1_discussion_continues] tests/model/test_model.py::TestModel::test__update_topic_index[new_topic4] tests/model/test_model.py::TestModel::test__update_topic_index[first_topic_1] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[stream_message-not_notified_since_self_message] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[stream_message-notified_stream_and_private_since_directly_mentioned] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[stream_message-notified_stream_and_private_since_wildcard_mentioned] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[stream_message-notified_stream_since_stream_has_desktop_notifications] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[stream_message-notified_private_since_private_message] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[pm_message-not_notified_since_self_message] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[pm_message-notified_stream_and_private_since_directly_mentioned] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[pm_message-notified_stream_and_private_since_wildcard_mentioned] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[pm_message-notified_stream_since_stream_has_desktop_notifications] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[pm_message-notified_private_since_private_message] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[group_pm_message-not_notified_since_self_message] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[group_pm_message-notified_stream_and_private_since_directly_mentioned] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[group_pm_message-notified_stream_and_private_since_wildcard_mentioned] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[group_pm_message-notified_stream_since_stream_has_desktop_notifications] tests/model/test_model.py::TestModel::test_notify_users_calling_msg_type[group_pm_message-notified_private_since_private_message] tests/model/test_model.py::TestModel::test_notify_user_transformed_content[stream_message-simple_text] tests/model/test_model.py::TestModel::test_notify_user_transformed_content[stream_message-spoiler_with_title] tests/model/test_model.py::TestModel::test_notify_user_transformed_content[stream_message-spoiler_no_title] tests/model/test_model.py::TestModel::test_notify_user_transformed_content[pm_message-simple_text] tests/model/test_model.py::TestModel::test_notify_user_transformed_content[pm_message-spoiler_with_title] tests/model/test_model.py::TestModel::test_notify_user_transformed_content[pm_message-spoiler_no_title] tests/model/test_model.py::TestModel::test_notify_user_transformed_content[group_pm_message-simple_text] tests/model/test_model.py::TestModel::test_notify_user_transformed_content[group_pm_message-spoiler_with_title] tests/model/test_model.py::TestModel::test_notify_user_transformed_content[group_pm_message-spoiler_no_title] tests/model/test_model.py::TestModel::test_notify_users_enabled[stream_message-True-True] tests/model/test_model.py::TestModel::test_notify_users_enabled[stream_message-False-False] tests/model/test_model.py::TestModel::test_notify_users_enabled[pm_message-True-True] tests/model/test_model.py::TestModel::test_notify_users_enabled[pm_message-False-False] tests/model/test_model.py::TestModel::test_notify_users_enabled[group_pm_message-True-True] tests/model/test_model.py::TestModel::test_notify_users_enabled[group_pm_message-False-False] tests/model/test_model.py::TestModel::test_notify_users_hides_PM_content_based_on_user_setting[pm_template-True-New tests/model/test_model.py::TestModel::test_notify_users_hides_PM_content_based_on_user_setting[pm_template-False-private tests/model/test_model.py::TestModel::test_notify_users_hides_PM_content_based_on_user_setting[group_pm_template-True-New tests/model/test_model.py::TestModel::test_notify_users_hides_PM_content_based_on_user_setting[group_pm_template-False-private tests/model/test_model.py::TestModel::test__handle_update_message_event[Only tests/model/test_model.py::TestModel::test__handle_update_message_event[Subject tests/model/test_model.py::TestModel::test__handle_update_message_event[Message tests/model/test_model.py::TestModel::test__handle_update_message_event[Both tests/model/test_model.py::TestModel::test__handle_update_message_event[Some tests/model/test_model.py::TestModel::test__handle_update_message_event[message_id tests/model/test_model.py::TestModel::test__update_rendered_view[msgbox_updated_in_topic_narrow] tests/model/test_model.py::TestModel::test__update_rendered_view[msgbox_removed_due_to_topic_narrow_mismatch] tests/model/test_model.py::TestModel::test__update_rendered_view[msgbox_updated_in_all_messages_narrow] tests/model/test_model.py::TestModel::test__update_rendered_view_change_narrow[same_topic_narrow] tests/model/test_model.py::TestModel::test__update_rendered_view_change_narrow[previous_topic_narrow_empty_so_change_narrow] tests/model/test_model.py::TestModel::test__update_rendered_view_change_narrow[same_all_messages_narrow] tests/model/test_model.py::TestModel::test__handle_reaction_event_not_in_index[add] tests/model/test_model.py::TestModel::test__handle_reaction_event_not_in_index[remove] tests/model/test_model.py::TestModel::test__handle_reaction_event_for_msg_in_index[add-2] tests/model/test_model.py::TestModel::test__handle_reaction_event_for_msg_in_index[remove-1] tests/model/test_model.py::TestModel::test_update_star_status_no_index[update_message_flags_operation0] tests/model/test_model.py::TestModel::test_update_star_status_no_index[update_message_flags_operation1] tests/model/test_model.py::TestModel::test_update_star_status_no_index[update_message_flags_operation2] tests/model/test_model.py::TestModel::test_update_star_status_invalid_operation[update_message_flags_operation0] tests/model/test_model.py::TestModel::test_update_star_status_invalid_operation[update_message_flags_operation1] tests/model/test_model.py::TestModel::test_update_star_status_invalid_operation[update_message_flags_operation2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before0-flags_after0-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before0-flags_after0-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before0-flags_after0-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before0-flags_after0-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before0-flags_after0-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before0-flags_after0-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before1-flags_after1-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before1-flags_after1-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before1-flags_after1-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before1-flags_after1-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before1-flags_after1-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before1-flags_after1-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before2-flags_after2-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before2-flags_after2-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before2-flags_after2-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before2-flags_after2-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before2-flags_after2-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before2-flags_after2-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before3-flags_after3-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before3-flags_after3-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before3-flags_after3-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before3-flags_after3-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before3-flags_after3-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-add-1-flags_before3-flags_after3-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before4-flags_after4-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before4-flags_after4-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before4-flags_after4-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before4-flags_after4-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before4-flags_after4-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before4-flags_after4-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before5-flags_after5-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before5-flags_after5-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before5-flags_after5-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before5-flags_after5-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before5-flags_after5-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before5-flags_after5-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before6-flags_after6-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before6-flags_after6-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before6-flags_after6-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before6-flags_after6-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before6-flags_after6-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before6-flags_after6-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before7-flags_after7-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before7-flags_after7-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before7-flags_after7-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before7-flags_after7-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before7-flags_after7-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before7-flags_after7-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before8-flags_after8-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before8-flags_after8-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before8-flags_after8-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before8-flags_after8-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before8-flags_after8-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation0-remove--1-flags_before8-flags_after8-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before0-flags_after0-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before0-flags_after0-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before0-flags_after0-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before0-flags_after0-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before0-flags_after0-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before0-flags_after0-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before1-flags_after1-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before1-flags_after1-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before1-flags_after1-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before1-flags_after1-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before1-flags_after1-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before1-flags_after1-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before2-flags_after2-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before2-flags_after2-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before2-flags_after2-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before2-flags_after2-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before2-flags_after2-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before2-flags_after2-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before3-flags_after3-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before3-flags_after3-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before3-flags_after3-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before3-flags_after3-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before3-flags_after3-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-add-1-flags_before3-flags_after3-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before4-flags_after4-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before4-flags_after4-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before4-flags_after4-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before4-flags_after4-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before4-flags_after4-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before4-flags_after4-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before5-flags_after5-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before5-flags_after5-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before5-flags_after5-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before5-flags_after5-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before5-flags_after5-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before5-flags_after5-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before6-flags_after6-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before6-flags_after6-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before6-flags_after6-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before6-flags_after6-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before6-flags_after6-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before6-flags_after6-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before7-flags_after7-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before7-flags_after7-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before7-flags_after7-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before7-flags_after7-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before7-flags_after7-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before7-flags_after7-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before8-flags_after8-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before8-flags_after8-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before8-flags_after8-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before8-flags_after8-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before8-flags_after8-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation1-remove--1-flags_before8-flags_after8-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before0-flags_after0-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before0-flags_after0-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before0-flags_after0-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before0-flags_after0-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before0-flags_after0-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before0-flags_after0-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before1-flags_after1-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before1-flags_after1-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before1-flags_after1-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before1-flags_after1-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before1-flags_after1-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before1-flags_after1-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before2-flags_after2-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before2-flags_after2-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before2-flags_after2-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before2-flags_after2-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before2-flags_after2-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before2-flags_after2-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before3-flags_after3-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before3-flags_after3-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before3-flags_after3-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before3-flags_after3-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before3-flags_after3-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-add-1-flags_before3-flags_after3-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before4-flags_after4-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before4-flags_after4-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before4-flags_after4-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before4-flags_after4-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before4-flags_after4-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before4-flags_after4-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before5-flags_after5-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before5-flags_after5-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before5-flags_after5-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before5-flags_after5-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before5-flags_after5-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before5-flags_after5-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before6-flags_after6-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before6-flags_after6-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before6-flags_after6-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before6-flags_after6-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before6-flags_after6-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before6-flags_after6-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before7-flags_after7-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before7-flags_after7-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before7-flags_after7-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before7-flags_after7-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before7-flags_after7-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before7-flags_after7-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before8-flags_after8-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before8-flags_after8-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before8-flags_after8-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before8-flags_after8-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before8-flags_after8-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_star_status[update_message_flags_operation2-remove--1-flags_before8-flags_after8-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before0-flags_after0-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before0-flags_after0-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before0-flags_after0-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before0-flags_after0-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before0-flags_after0-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before0-flags_after0-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before1-flags_after1-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before1-flags_after1-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before1-flags_after1-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before1-flags_after1-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before1-flags_after1-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before1-flags_after1-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before2-flags_after2-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before2-flags_after2-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before2-flags_after2-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before2-flags_after2-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before2-flags_after2-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before2-flags_after2-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before3-flags_after3-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before3-flags_after3-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before3-flags_after3-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before3-flags_after3-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before3-flags_after3-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-add-flags_before3-flags_after3-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before4-flags_after4-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before4-flags_after4-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before4-flags_after4-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before4-flags_after4-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before4-flags_after4-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before4-flags_after4-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before5-flags_after5-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before5-flags_after5-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before5-flags_after5-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before5-flags_after5-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before5-flags_after5-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before5-flags_after5-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before6-flags_after6-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before6-flags_after6-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before6-flags_after6-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before6-flags_after6-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before6-flags_after6-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before6-flags_after6-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before7-flags_after7-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before7-flags_after7-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before7-flags_after7-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before7-flags_after7-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before7-flags_after7-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before7-flags_after7-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before8-flags_after8-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before8-flags_after8-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before8-flags_after8-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before8-flags_after8-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before8-flags_after8-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation0-remove-flags_before8-flags_after8-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before0-flags_after0-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before0-flags_after0-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before0-flags_after0-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before0-flags_after0-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before0-flags_after0-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before0-flags_after0-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before1-flags_after1-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before1-flags_after1-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before1-flags_after1-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before1-flags_after1-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before1-flags_after1-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before1-flags_after1-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before2-flags_after2-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before2-flags_after2-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before2-flags_after2-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before2-flags_after2-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before2-flags_after2-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before2-flags_after2-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before3-flags_after3-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before3-flags_after3-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before3-flags_after3-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before3-flags_after3-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before3-flags_after3-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-add-flags_before3-flags_after3-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before4-flags_after4-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before4-flags_after4-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before4-flags_after4-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before4-flags_after4-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before4-flags_after4-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before4-flags_after4-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before5-flags_after5-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before5-flags_after5-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before5-flags_after5-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before5-flags_after5-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before5-flags_after5-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before5-flags_after5-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before6-flags_after6-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before6-flags_after6-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before6-flags_after6-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before6-flags_after6-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before6-flags_after6-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before6-flags_after6-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before7-flags_after7-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before7-flags_after7-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before7-flags_after7-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before7-flags_after7-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before7-flags_after7-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before7-flags_after7-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before8-flags_after8-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before8-flags_after8-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before8-flags_after8-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before8-flags_after8-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before8-flags_after8-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation1-remove-flags_before8-flags_after8-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before0-flags_after0-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before0-flags_after0-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before0-flags_after0-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before0-flags_after0-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before0-flags_after0-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before0-flags_after0-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before1-flags_after1-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before1-flags_after1-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before1-flags_after1-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before1-flags_after1-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before1-flags_after1-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before1-flags_after1-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before2-flags_after2-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before2-flags_after2-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before2-flags_after2-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before2-flags_after2-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before2-flags_after2-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before2-flags_after2-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before3-flags_after3-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before3-flags_after3-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before3-flags_after3-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before3-flags_after3-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before3-flags_after3-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-add-flags_before3-flags_after3-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before4-flags_after4-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before4-flags_after4-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before4-flags_after4-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before4-flags_after4-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before4-flags_after4-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before4-flags_after4-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before5-flags_after5-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before5-flags_after5-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before5-flags_after5-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before5-flags_after5-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before5-flags_after5-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before5-flags_after5-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before6-flags_after6-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before6-flags_after6-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before6-flags_after6-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before6-flags_after6-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before6-flags_after6-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before6-flags_after6-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before7-flags_after7-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before7-flags_after7-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before7-flags_after7-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before7-flags_after7-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before7-flags_after7-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before7-flags_after7-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before8-flags_after8-event_message_ids0-indexed_ids0] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before8-flags_after8-event_message_ids1-indexed_ids1] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before8-flags_after8-event_message_ids2-indexed_ids2] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before8-flags_after8-event_message_ids3-indexed_ids3] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before8-flags_after8-event_message_ids4-indexed_ids4] tests/model/test_model.py::TestModel::test_update_read_status[update_message_flags_operation2-remove-flags_before8-flags_after8-event_message_ids5-indexed_ids5] tests/model/test_model.py::TestModel::test_toggle_stream_pinned_status[pinning] tests/model/test_model.py::TestModel::test_toggle_stream_pinned_status[unpinning] tests/model/test_model.py::TestModel::test_toggle_stream_pinned_status[first_pinned] tests/model/test_model.py::TestModel::test_toggle_stream_pinned_status[last_unpinned] tests/model/test_model.py::TestModel::test_toggle_stream_visual_notifications[visual_notification_enable_205] tests/model/test_model.py::TestModel::test_toggle_stream_visual_notifications[visual_notification_disable_205] tests/model/test_model.py::TestModel::test_toggle_stream_visual_notifications[first_notification_enable_205] tests/model/test_model.py::TestModel::test_toggle_stream_visual_notifications[last_notification_disable_205] tests/model/test_model.py::TestModel::test__handle_typing_event[not_in_pm_narrow] tests/model/test_model.py::TestModel::test__handle_typing_event[not_in_pm_narrow_with_sender] tests/model/test_model.py::TestModel::test__handle_typing_event[in_pm_narrow_with_sender_typing:start] tests/model/test_model.py::TestModel::test__handle_typing_event[in_pm_narrow_with_sender_typing:start_while_animation_in_progress] tests/model/test_model.py::TestModel::test__handle_typing_event[in_pm_narrow_with_sender_typing:stop] tests/model/test_model.py::TestModel::test__handle_typing_event[in_pm_narrow_with_other_myself_typing:start] tests/model/test_model.py::TestModel::test__handle_typing_event[in_pm_narrow_with_other_myself_typing:stop] tests/model/test_model.py::TestModel::test__handle_typing_event[in_pm_narrow_with_oneself:start] tests/model/test_model.py::TestModel::test__handle_typing_event[in_pm_narrow_with_oneself:stop] tests/model/test_model.py::TestModel::test__handle_subscription_event_mute_streams[remove_18_in_home_view:already_unmuted:ZFLNone] tests/model/test_model.py::TestModel::test__handle_subscription_event_mute_streams[remove_19_in_home_view:muted:ZFLNone] tests/model/test_model.py::TestModel::test__handle_subscription_event_mute_streams[add_19_in_home_view:already_muted:ZFLNone] tests/model/test_model.py::TestModel::test__handle_subscription_event_mute_streams[add_30_in_home_view:unmuted:ZFLNone] tests/model/test_model.py::TestModel::test__handle_subscription_event_mute_streams[remove_30_is_muted:already_unmutedZFL139] tests/model/test_model.py::TestModel::test__handle_subscription_event_mute_streams[remove_19_is_muted:muted:ZFL139] tests/model/test_model.py::TestModel::test__handle_subscription_event_mute_streams[add_15_is_muted:already_muted:ZFL139] tests/model/test_model.py::TestModel::test__handle_subscription_event_mute_streams[add_30_is_muted:unmuted:ZFL139] tests/model/test_model.py::TestModel::test__handle_subscription_event_pin_streams[pin_stream] tests/model/test_model.py::TestModel::test__handle_subscription_event_pin_streams[unpin_stream] tests/model/test_model.py::TestModel::test__handle_subscription_event_visual_notifications[remove_visual_notified_stream_15:present] tests/model/test_model.py::TestModel::test__handle_subscription_event_visual_notifications[add_visual_notified_stream_19:not_present] tests/model/test_model.py::TestModel::test__handle_subscription_event_visual_notifications[remove_visual_notified_stream_15:not_present] tests/model/test_model.py::TestModel::test__handle_subscription_event_visual_notifications[add_visual_notified_stream_19:present] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers[user_subscribed_to_stream:ZFLNone] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers[user_subscribed_to_stream:ZFL34] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers[user_subscribed_to_stream:ZFL34_should_be_35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers[user_subscribed_to_stream:ZFL35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers[user_unsubscribed_from_stream:ZFLNone] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers[user_unsubscribed_from_stream:ZFL34] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers[user_unsubscribed_from_stream:ZFL34_should_be_35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers[user_unsubscribed_from_stream:ZFL35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_to_unsubscribed_streams[peer_subscribed_to_stream_that_user_is_unsubscribed_to] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_to_unsubscribed_streams[peer_subscribed_to_stream_that_user_is_unsubscribed_to:ZFL35+] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_to_unsubscribed_streams[peer_unsubscribed_from_stream_that_user_is_unsubscribed_to] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_to_unsubscribed_streams[peer_unsubscribed_from_stream_that_user_is_unsubscribed_to:ZFL35+] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_multiple_users_one_stream[users_subscribed_to_stream:ZFL34_should_be_35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_multiple_users_one_stream[users_subscribed_to_stream:ZFL35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_multiple_users_one_stream[users_unsubscribed_from_stream:ZFL34_should_be_35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_multiple_users_one_stream[users_unsubscribed_from_stream:ZFL35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_one_user_multiple_streams[user_subscribed_to_streams:ZFL34_should_be_35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_one_user_multiple_streams[user_subscribed_to_streams:ZFL35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_one_user_multiple_streams[user_unsubscribed_from_streams:ZFL34_should_be_35] tests/model/test_model.py::TestModel::test__handle_subscription_event_subscribers_one_user_multiple_streams[user_unsubscribed_from_streams:ZFL35] tests/model/test_model.py::TestModel::test__handle_realm_user_event__general[full_name] tests/model/test_model.py::TestModel::test__handle_realm_user_event__general[timezone] tests/model/test_model.py::TestModel::test__handle_realm_user_event__general[billing_admin_role] tests/model/test_model.py::TestModel::test__handle_realm_user_event__general[role] tests/model/test_model.py::TestModel::test__handle_realm_user_event__general[avatar] tests/model/test_model.py::TestModel::test__handle_realm_user_event__general[display_email] tests/model/test_model.py::TestModel::test__handle_realm_user_event__general[delivery_email] tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__update_data[Short tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__update_data[Long tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__update_data[List tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__update_data[Date tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__update_data[Link-no_custom] tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__update_data[Link-many_custom] tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__update_data[Person tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__update_data[External tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__update_data[Pronouns-no_custom] tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__update_data[Pronouns-many_custom] tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__remove_data[update_data0-8-no_custom] tests/model/test_model.py::TestModel::test__handle_realm_user_event__custom_profile_data__remove_data[update_data0-8-many_custom] tests/model/test_model.py::TestModel::test__handle_user_settings_event[True] tests/model/test_model.py::TestModel::test__handle_user_settings_event[False] tests/model/test_model.py::TestModel::test_update_pm_content_in_desktop_notifications[True] tests/model/test_model.py::TestModel::test_update_pm_content_in_desktop_notifications[False] tests/model/test_model.py::TestModel::test_update_twenty_four_hour_format[True] tests/model/test_model.py::TestModel::test_update_twenty_four_hour_format[False] tests/model/test_model.py::TestModel::test_is_muted_stream[muted_stream] tests/model/test_model.py::TestModel::test_is_muted_stream[unmuted_stream] tests/model/test_model.py::TestModel::test_is_muted_stream[unmuted_stream_nostreamsmuted] tests/model/test_model.py::TestModel::test_is_visual_notifications_enabled[notifications_enabled] tests/model/test_model.py::TestModel::test_is_visual_notifications_enabled[notifications_disabled] tests/model/test_model.py::TestModel::test_is_visual_notifications_enabled[notifications_disabled_no_streams_to_notify] tests/model/test_model.py::TestModel::test_is_muted_topic[zulip_feature_level:None-topic0-False] tests/model/test_model.py::TestModel::test_is_muted_topic[zulip_feature_level:None-topic1-True] tests/model/test_model.py::TestModel::test_is_muted_topic[zulip_feature_level:None-topic2-True] tests/model/test_model.py::TestModel::test_is_muted_topic[zulip_feature_level:None-topic3-False] tests/model/test_model.py::TestModel::test_is_muted_topic[zulip_feature_level:1-topic0-False] tests/model/test_model.py::TestModel::test_is_muted_topic[zulip_feature_level:1-topic1-True] tests/model/test_model.py::TestModel::test_is_muted_topic[zulip_feature_level:1-topic2-True] tests/model/test_model.py::TestModel::test_is_muted_topic[zulip_feature_level:1-topic3-False] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_after_no_state] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_after_previous_topic] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_before_previous_topic] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_still_present_in_topic] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[no_unreads_with_previous_topic_state] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[no_unreads_with_no_previous_topic_state] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_before_previous_topic_skipping_muted_stream] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_after_previous_topic_skipping_muted_stream] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_only_in_muted_stream] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_starting_in_muted_stream] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_skipping_first_muted_stream_unread] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_only_in_muted_topic] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_starting_in_muted_topic] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_only_in_muted_topic_in_muted_stream] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_after_previous_topic_skipping_muted_topic] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_after_previous_topic_muted] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unmuted_unread_present_in_same_stream_as_current_topic_not_in_unread_list] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unmuted_unread_present_in_next_stream_as_current_topic_not_in_unread_list] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unmuted_unread_not_present_in_next_stream_as_current_topic_not_in_unread_list] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[unread_present_in_same_stream_wrap_around] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message[streams_sorted_according_to_left_panel] tests/model/test_model.py::TestModel::test_next_unread_topic_from_message__empty_narrow[unread_topics0-empty_narrow0-1-next_unread_topic0] tests/model/test_model.py::TestModel::test_get_next_unread_pm tests/model/test_model.py::TestModel::test_get_next_unread_pm_again tests/model/test_model.py::TestModel::test_get_next_unread_pm_no_unread tests/model/test_model.py::TestModel::test_stream_topic_from_message_id[stream_message] tests/model/test_model.py::TestModel::test_stream_topic_from_message_id[direct_message] tests/model/test_model.py::TestModel::test_stream_topic_from_message_id[non-existent tests/model/test_model.py::TestModel::test_is_user_subscribed_to_stream[subscribed_stream] tests/model/test_model.py::TestModel::test_is_user_subscribed_to_stream[unsubscribed_stream] tests/model/test_model.py::TestModel::test_fetch_message_history_success[unedited_message-response0] tests/model/test_model.py::TestModel::test_fetch_message_history_success[edited_message-response0] tests/model/test_model.py::TestModel::test_fetch_message_history_error[response0] tests/model/test_model.py::TestModel::test_user_name_from_id_valid[1001-Human tests/model/test_model.py::TestModel::test_user_name_from_id_invalid[-1] tests/model/test_model.py::TestModel::test_generate_all_emoji_data tests/model/test_model.py::TestModel::test__handle_update_emoji_event[realm_emoji_with_same_name_as_unicode_emoji_added] tests/model/test_model.py::TestModel::test__handle_update_emoji_event[realm_emoji_with_same_name_as_unicode_emoji_removed] tests/model/test_model.py::TestModel::test__handle_update_emoji_event[realm_emoji_with_name_as_zulip_added] tests/model/test_model.py::TestModel::test__handle_update_emoji_event[realm_emoji_with_name_as_zulip_removed] tests/model/test_model.py::TestModel::test__handle_update_emoji_event[realm_emoji_added] tests/model/test_model.py::TestModel::test__handle_update_emoji_event[realm_emoji_removed] tests/model/test_model.py::TestModel::test_poll_for_events__no_disconnect tests/model/test_model.py::TestModel::test_poll_for_events__reconnect_ok[reconnect_on_1st_attempt] tests/model/test_model.py::TestModel::test_poll_for_events__reconnect_ok[reconnect_on_2nd_attempt] tests/model/test_model.py::TestModel::test_poll_for_events__reconnect_ok[reconnect_on_3rd_attempt] tests/ui_tools/test_boxes.py::TestWriteBox::test_init tests/ui_tools/test_boxes.py::TestWriteBox::test_not_calling_typing_method_without_recipients tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_stream_and_topic[#**Stream tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_stream_and_topic[#Stream tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_stream_and_topic[#**invalid tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_stream_and_topic[#invalid tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_stream_and_topic[#*Stream tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_stream_and_topic[(#**Stream tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_stream_and_topic[&#**Stream tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_stream_and_topic[@#**Stream tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_stream_and_topic[@_#**Stream tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_stream_and_topic[:#**Stream tests/ui_tools/test_boxes.py::TestWriteBox::test_not_calling_typing_method_to_oneself[pm_only_with_oneself] tests/ui_tools/test_boxes.py::TestWriteBox::test_not_calling_typing_method_to_oneself[group_pm] tests/ui_tools/test_boxes.py::TestWriteBox::test_not_calling_send_private_message_without_recipients[ctrl tests/ui_tools/test_boxes.py::TestWriteBox::test_not_calling_send_private_message_without_recipients[meta tests/ui_tools/test_boxes.py::TestWriteBox::test__compose_attributes_reset_for_private_compose[esc] tests/ui_tools/test_boxes.py::TestWriteBox::test__compose_attributes_reset_for_stream_compose[esc] tests/ui_tools/test_boxes.py::TestWriteBox::test_tidying_recipients_on_keypresses[ctrl tests/ui_tools/test_boxes.py::TestWriteBox::test_tidying_recipients_on_keypresses[meta tests/ui_tools/test_boxes.py::TestWriteBox::test_tidying_recipients_on_keypresses[tab-untidy_with_improper_formatting] tests/ui_tools/test_boxes.py::TestWriteBox::test_tidying_recipients_on_keypresses[tab-untidy_with_extra_text] tests/ui_tools/test_boxes.py::TestWriteBox::test_tidying_recipients_on_keypresses[tab-untidy_first_recipient_out_of_two] tests/ui_tools/test_boxes.py::TestWriteBox::test_tidying_recipients_on_keypresses[tab-untidy_second_recipient_out_of_two] tests/ui_tools/test_boxes.py::TestWriteBox::test_tidying_recipients_on_keypresses[tab-two_untidy_recipients] tests/ui_tools/test_boxes.py::TestWriteBox::test_tidying_recipients_on_keypresses[tab-three_untidy_recipients] tests/ui_tools/test_boxes.py::TestWriteBox::test_tidying_recipients_on_keypresses[tab-untidy_middle_recipient_out_of_three] tests/ui_tools/test_boxes.py::TestWriteBox::test_footer_notification_on_invalid_recipients[ctrl tests/ui_tools/test_boxes.py::TestWriteBox::test_footer_notification_on_invalid_recipients[meta tests/ui_tools/test_boxes.py::TestWriteBox::test_footer_notification_on_invalid_recipients[tab-name_email_mismatch] tests/ui_tools/test_boxes.py::TestWriteBox::test_footer_notification_on_invalid_recipients[tab-no_name_specified] tests/ui_tools/test_boxes.py::TestWriteBox::test_footer_notification_on_invalid_recipients[tab-no_email_specified] tests/ui_tools/test_boxes.py::TestWriteBox::test_update_recipients[single_recipient] tests/ui_tools/test_boxes.py::TestWriteBox::test_update_recipients[multiple_recipients] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_no_prefix[Plain tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[@-0-footer_text0] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[@*-0-footer_text1] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[@**-0-footer_text2] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[@Human-0-footer_text3] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[@**Human-0-footer_text4] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[@_Human-0-footer_text5] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[@_*Human-None-footer_text6] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[@_**Human-0-footer_text7] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[@Human-None-footer_text8] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[@NoMatch-None-footer_text9] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[#Stream-0-footer_text10] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[#*Stream-None-footer_text11] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[#**Stream-0-footer_text12] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[#Stream-None-footer_text13] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[#NoMatch-None-footer_text14] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[:smi-0-footer_text15] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[:smi-None-footer_text16] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_set_footer[:NoMatch-None-footer_text17] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human-0-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human-1-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human-2-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human-3-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human-4-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human--1-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human--2-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human--3-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human--4-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human--5-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human--6-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_Human-0-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_Human-1-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_Human-2-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_Human-3-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_Human-4-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@H-1-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Hu-1-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Hum-1-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Huma-1-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_H-1-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_Hu-1-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_Hum-1-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_Huma-1-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Group-0-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Group-1-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@G-0-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Gr-0-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Gro-0-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Grou-0-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@G-1-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Gr-1-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Gro-1-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@Grou-1-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-0-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-1-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-2-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-3-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-4-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-5-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-6-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-7-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-8-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-9-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@-10-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@**-0-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@**-1-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@**-2-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@**-5-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@**-6-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@*-0-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@*-1-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@*-2-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@*-3-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@*-4-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@*-5-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_-0-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_-1-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_-2-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_-3-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_-4-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_-5-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_-6-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_--1-@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[(@H-0-(@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[(@H-1-(@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[-@G-0--@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[-@G-1--@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[_@H-0-_@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[_@G-0-_@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@@H-0-@@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[:@H-0-:@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[#@H-0-#@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_@H-0-@_@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[>@_H-0->@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[>@_H-1->@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@_@_H-0-@_@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@@_H-0-@@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[:@_H-0-:@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[#@_H-0-#@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@@_*H-0-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions[@@_**H-0-@@_**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions_subscribers[@-0-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions_subscribers[@-1-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions_subscribers[@-2-@**Human tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_mentions_subscribers[@--1-@*Group tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@H-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@Hu-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@Hum-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@Huma-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@Human-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@**-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@**H-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@**Hu-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@**Hum-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@**Huma-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@**Human-@] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@_-@_] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@_H-@_] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@_Hu-@_] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@_Hum-@_] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@_Huma-@_] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_user_mentions[@_Human-@_] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Stream-state_and_required_typeahead0-stream_categories0] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#S-state_and_required_typeahead1-stream_categories1] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#So-state_and_required_typeahead2-stream_categories2] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Se-state_and_required_typeahead3-stream_categories3] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#St-state_and_required_typeahead4-stream_categories4] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#g-state_and_required_typeahead5-stream_categories5] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Stream tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#nomatch-state_and_required_typeahead7-stream_categories7] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#ene-state_and_required_typeahead8-stream_categories8] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[[#Stream-state_and_required_typeahead9-stream_categories9] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[(#Stream-state_and_required_typeahead10-stream_categories10] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[@#Stream-state_and_required_typeahead11-stream_categories11] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[@_#Stream-state_and_required_typeahead12-stream_categories12] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[:#Stream-state_and_required_typeahead13-stream_categories13] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[##Stream-state_and_required_typeahead14-stream_categories14] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[##*Stream-state_and_required_typeahead15-stream_categories15] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[##**Stream-state_and_required_typeahead16-stream_categories16] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Stream-state_and_required_typeahead17-stream_categories17] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Stream-state_and_required_typeahead18-stream_categories18] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Stream-state_and_required_typeahead19-stream_categories19] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Stream-state_and_required_typeahead20-stream_categories20] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Stream-state_and_required_typeahead21-stream_categories21] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Stream-state_and_required_typeahead22-stream_categories22] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Stream-state_and_required_typeahead23-stream_categories23] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#S-state_and_required_typeahead24-stream_categories24] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_streams[#Stream-state_and_required_typeahead25-stream_categories25] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:rock_o-0-:rock_on:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:rock_o-1-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:rock_o--1-:rock_on:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:rock_o--2-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:smi-0-:smile:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:smi-1-:smiley:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:smi-2-:smirk:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:jo-0-:joker:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:jo-1-:joy_cat:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:jok-0-:joker:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:-0-:happy:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:-1-:joker:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:--3-:smiley:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:--2-:smirk:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:nomatch-0-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[:nomatch--1-None] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[(:smi-0-(:smile:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[&:smi-1-&:smiley:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[@:smi-0-@:smile:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[@_:smi-0-@_:smile:] tests/ui_tools/test_boxes.py::TestWriteBox::test_generic_autocomplete_emojis[#:smi-0-#:smile:] tests/ui_tools/test_boxes.py::TestWriteBox::test__to_box_autocomplete[no_search_text] tests/ui_tools/test_boxes.py::TestWriteBox::test__to_box_autocomplete[single_word_search_text] tests/ui_tools/test_boxes.py::TestWriteBox::test__to_box_autocomplete_with_spaces[Hu-Human tests/ui_tools/test_boxes.py::TestWriteBox::test__to_box_autocomplete_with_spaces[Human tests/ui_tools/test_boxes.py::TestWriteBox::test__to_box_autocomplete_with_multiple_recipients[name_search_text_with_space_after_separator] tests/ui_tools/test_boxes.py::TestWriteBox::test__to_box_autocomplete_with_multiple_recipients[email_search_text_with_space_after_separator] tests/ui_tools/test_boxes.py::TestWriteBox::test__to_box_autocomplete_with_multiple_recipients[name_search_text_without_space_after_separator] tests/ui_tools/test_boxes.py::TestWriteBox::test__to_box_autocomplete_with_multiple_recipients[email_search_text_without_space_after_separator] tests/ui_tools/test_boxes.py::TestWriteBox::test__stream_box_autocomplete[no_search_text] tests/ui_tools/test_boxes.py::TestWriteBox::test__stream_box_autocomplete[no_search_text_with_pinned_stream] tests/ui_tools/test_boxes.py::TestWriteBox::test__stream_box_autocomplete[single_word_search_text] tests/ui_tools/test_boxes.py::TestWriteBox::test__stream_box_autocomplete[single_word_search_text_with_pinned_stream] tests/ui_tools/test_boxes.py::TestWriteBox::test__set_stream_write_box_style_markers[web_public_stream] tests/ui_tools/test_boxes.py::TestWriteBox::test__set_stream_write_box_style_markers[private_stream] tests/ui_tools/test_boxes.py::TestWriteBox::test__set_stream_write_box_style_markers[public_stream] tests/ui_tools/test_boxes.py::TestWriteBox::test__set_stream_write_box_style_markers[invalid_stream_name] tests/ui_tools/test_boxes.py::TestWriteBox::test__stream_box_autocomplete_with_spaces[Som-Some tests/ui_tools/test_boxes.py::TestWriteBox::test__stream_box_autocomplete_with_spaces[Some tests/ui_tools/test_boxes.py::TestWriteBox::test__topic_box_autocomplete[no_search_text] tests/ui_tools/test_boxes.py::TestWriteBox::test__topic_box_autocomplete[single_word_search_text] tests/ui_tools/test_boxes.py::TestWriteBox::test__topic_box_autocomplete[split_in_first_word] tests/ui_tools/test_boxes.py::TestWriteBox::test__topic_box_autocomplete[split_in_second_word] tests/ui_tools/test_boxes.py::TestWriteBox::test__topic_box_autocomplete[first_split_in_third_word] tests/ui_tools/test_boxes.py::TestWriteBox::test__topic_box_autocomplete[second_split_in_third_word] tests/ui_tools/test_boxes.py::TestWriteBox::test__topic_box_autocomplete_with_spaces[Th-This tests/ui_tools/test_boxes.py::TestWriteBox::test__topic_box_autocomplete_with_spaces[This tests/ui_tools/test_boxes.py::TestWriteBox::test__process_typeaheads[fewer_than_10_typeaheads] tests/ui_tools/test_boxes.py::TestWriteBox::test__process_typeaheads[more_than_10_typeaheads] tests/ui_tools/test_boxes.py::TestWriteBox::test__process_typeaheads[invalid_state-None] tests/ui_tools/test_boxes.py::TestWriteBox::test__process_typeaheads[invalid_state-greater_than_possible_index] tests/ui_tools/test_boxes.py::TestWriteBox::test__process_typeaheads[invalid_state-less_than_possible_index] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_SEND_MESSAGE_no_topic[ctrl tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_SEND_MESSAGE_no_topic[meta tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_typeahead_mode_autocomplete_key[ctrl tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_typeahead_mode_autocomplete_key[esc-True-False-True] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_typeahead_mode_autocomplete_key[space-True-False-True] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_typeahead_mode_autocomplete_key[k-True-False-True] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-stream_name_to_topic_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-topic_to_message_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-topic_edit_only-topic_to_edit_mode_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-topic_edit_only-edit_mode_to_topic_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-message_to_stream_name_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-edit_box-stream_name_to_topic_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-edit_box-topic_to_edit_mode_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-edit_box-edit_mode_to_message_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-edit_box-message_to_stream_name_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-recipient_to_message_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_CYCLE_COMPOSE_FOCUS[tab-message_to_recipient_box] tests/ui_tools/test_boxes.py::TestWriteBox::test_keypress_MARKDOWN_HELP[meta tests/ui_tools/test_boxes.py::TestWriteBox::test_write_box_header_contents[private_message] tests/ui_tools/test_boxes.py::TestWriteBox::test_write_box_header_contents[stream_message] tests/ui_tools/test_boxes.py::TestWriteBox::test_write_box_header_contents[stream_edit_message] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_init tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_reset_search_text tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_valid_char[no_text-disallow_urwid_backspace] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_valid_char[no_text-disallow_unicode_backspace] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_valid_char[no_text-disallow_unicode_em_space] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_valid_char[no_text-allow_entry_of_x] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_valid_char[no_text-allow_entry_of_delta] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_valid_char[no_text-disallow_entry_of_space] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_valid_char[text-allow_entry_of_space] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_valid_char[text-disallow_urwid_backspace] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_keypress_ENTER[enter-log0-False] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_keypress_ENTER[enter-log1-True] tests/ui_tools/test_boxes.py::TestPanelSearchBox::test_keypress_GO_BACK[esc]