Skip to content

Commit 3937ee2

Browse files
committed
messages: Changes made in MessageBox for muted_messages.
The content shown for the message is changed. The recepient header shows muted_user instead of original name. The name of the author is also changed to muted_user. Tests Adapted. Co-authored by: Subhasish-Behera <greendoor3000@gmail.com>
1 parent a7d0d10 commit 3937ee2

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

tests/core/test_core.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ def test_narrow_to_user(
229229
controller.view.message_view = mocker.patch("urwid.ListBox")
230230
controller.model.user_id = 5140
231231
controller.model.user_email = "some@email"
232+
controller.model._muted_users = set()
232233
controller.model.user_dict = {
233234
user_email: {
234235
"user_id": user_id,
@@ -267,6 +268,7 @@ def test_narrow_to_all_messages(
267268
controller.view.message_view = mocker.patch("urwid.ListBox")
268269
controller.model.user_email = "some@email"
269270
controller.model.user_id = 1
271+
controller.model._muted_users = set()
270272
controller.model.stream_dict = {
271273
205: {
272274
"color": "#ffffff",
@@ -295,6 +297,7 @@ def test_narrow_to_all_pm(
295297
controller.view.message_view = mocker.patch("urwid.ListBox")
296298
controller.model.user_id = 1
297299
controller.model.user_email = "some@email"
300+
controller.model._muted_users = set()
298301

299302
controller.narrow_to_all_pm() # FIXME: Add id narrowing test
300303

@@ -316,6 +319,7 @@ def test_narrow_to_all_starred(
316319
# FIXME: Expand upon is_muted_topic().
317320
mocker.patch(MODEL + ".is_muted_topic", return_value=False)
318321
controller.model.user_email = "some@email"
322+
controller.model._muted_users = set()
319323
controller.model.stream_dict = {
320324
205: {
321325
"color": "#ffffff",
@@ -343,6 +347,7 @@ def test_narrow_to_all_mentions(
343347
mocker.patch(MODEL + ".is_muted_topic", return_value=False)
344348
controller.model.user_email = "some@email"
345349
controller.model.user_id = 1
350+
controller.model._muted_users = set()
346351
controller.model.stream_dict = {
347352
205: {
348353
"color": "#ffffff",

tests/ui_tools/test_messages.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,7 @@ def test_main_view(self, mocker, message, last_message):
776776
"reactions": [],
777777
"sender_full_name": "Alice",
778778
"timestamp": 1532103879,
779+
"sender_id": 32900,
779780
}
780781
],
781782
)
@@ -814,6 +815,7 @@ def test_main_view_renders_slash_me(self, mocker, message, content, is_me_messag
814815
"reactions": [],
815816
"sender_full_name": "Alice",
816817
"timestamp": 1532103879,
818+
"sender_id": 32900,
817819
}
818820
],
819821
)
@@ -867,6 +869,7 @@ def test_main_view_generates_stream_header(
867869
"reactions": [],
868870
"sender_full_name": "Alice",
869871
"timestamp": 1532103879,
872+
"sender_id": 32900,
870873
},
871874
],
872875
)
@@ -1057,6 +1060,7 @@ def test_msg_generates_search_and_header_bar(
10571060
"reactions": [],
10581061
"sender_full_name": "alice",
10591062
"timestamp": 1532103879,
1063+
"sender_id": 32900,
10601064
}
10611065
],
10621066
)
@@ -1117,6 +1121,8 @@ def test_main_view_content_header_without_header(
11171121

11181122
msg_box = MessageBox(this_msg, self.model, last_msg)
11191123

1124+
self.model.is_muted_user.return_value = False
1125+
11201126
expected_header[2] = output_date_time
11211127
if current_year > 2018:
11221128
expected_header[2] = "2018 - " + expected_header[2]

zulipterminal/ui_tools/messages.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ def __init__(self, message: Message, model: "Model", last_message: Any) -> None:
9696
else:
9797
self.recipients_names = ", ".join(
9898
[
99-
recipient["full_name"]
99+
"Muted user"
100+
if self.model.is_muted_user(recipient["id"])
101+
else recipient["full_name"]
100102
for recipient in self.message["display_recipient"]
101103
if recipient["email"] != self.model.user_email
102104
]
@@ -687,7 +689,12 @@ def main_view(self) -> List[Any]:
687689
text: Dict[str, urwid_MarkupTuple] = {key: (None, " ") for key in text_keys}
688690

689691
if any(different[key] for key in ("recipients", "author", "24h")):
690-
text["author"] = ("msg_sender", message["this"]["author"])
692+
text["author"] = (
693+
"msg_sender",
694+
"Muted user"
695+
if self.model.is_muted_user(self.message["sender_id"])
696+
else message["this"]["author"],
697+
)
691698

692699
# TODO: Refactor to use user ids for look up instead of emails.
693700
email = self.message.get("sender_email", "")
@@ -729,10 +736,16 @@ def main_view(self) -> List[Any]:
729736
"/me", f"<strong>{self.message['sender_full_name']}</strong>", 1
730737
)
731738

739+
muted_message_text = "This message was hidden because you have muted the sender"
740+
732741
# Transform raw message content into markup (As needed by urwid.Text)
733742
content, self.message_links, self.time_mentions = self.transform_content(
734743
self.message["content"], self.model.server_url
735744
)
745+
746+
if self.model.is_muted_user(self.message["sender_id"]):
747+
content = (None, muted_message_text)
748+
736749
self.content.set_text(content)
737750

738751
if self.message["id"] in self.model.index["edited_messages"]:

0 commit comments

Comments
 (0)