Skip to content

Commit 9920333

Browse files
committed
model: Update index when marking message as read.
Modify tests.
1 parent 714c60e commit 9920333

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

tests/model/test_model.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1244,6 +1244,8 @@ def test_update_read_status(self, mocker, model, event_op,
12441244
flags_before, flags_after):
12451245
model.index = dict(messages={msg_id: {'flags': flags_before}
12461246
for msg_id in indexed_ids})
1247+
model.index['unread_msg_ids'] = set(event_message_ids)
1248+
12471249
event = {
12481250
'messages': event_message_ids,
12491251
'type': 'update_message_flags',
@@ -1274,8 +1276,11 @@ def test_update_read_status(self, mocker, model, event_op,
12741276
if event_op == 'add':
12751277
set_count.assert_called_once_with(list(changed_ids),
12761278
self.controller, -1)
1279+
assert len(model.index['unread_msg_ids']) == 0
12771280
elif event_op == 'remove':
12781281
set_count.assert_not_called()
1282+
assert model.index['unread_msg_ids'] == set(event_message_ids)
1283+
12791284

12801285
@pytest.mark.parametrize('narrow, event, called', [
12811286
# Not in PM Narrow

zulipterminal/model.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -838,6 +838,7 @@ def update_message_flag_status(self, event: Event) -> None:
838838
if event['operation'] == 'add' and flag_to_change == 'read':
839839
set_count(list(message_ids_to_mark & indexed_message_ids),
840840
self.controller, -1)
841+
self.index['unread_msg_ids'].difference_update(message_ids_to_mark)
841842

842843
def update_rendered_view(self, msg_id: int) -> None:
843844
# Update new content in the rendered view

0 commit comments

Comments
 (0)