@@ -885,6 +885,8 @@ def test_toggle_stream_muted_status(
885885 (["read" ], "add" ),
886886 (["read" , "starred" ], "remove" ),
887887 (["starred" , "read" ], "remove" ),
888+ (["read" , "mentioned" , "wildcard_mentioned" ], "add" ),
889+ (["mentioned" , "wildcard_mentioned" , "starred" ], "remove" ),
888890 ],
889891 )
890892 def test_toggle_message_star_status (
@@ -2075,11 +2077,18 @@ def test_update_star_status_invalid_operation(
20752077 ("add" , 1 , ["read" ], ["read" , "starred" ]),
20762078 ("add" , 1 , ["starred" ], ["starred" ]),
20772079 ("add" , 1 , ["read" , "starred" ], ["read" , "starred" ]),
2080+ ("add" , 1 , ["mentioned" ], ["mentioned" , "starred" ]),
2081+ ("add" , 1 , ["mentioned" , "starred" ], ["mentioned" , "starred" ]),
2082+ ("add" , 1 , ["wildcard_mentioned" ], ["wildcard_mentioned" , "starred" ]),
20782083 ("remove" , - 1 , [], []),
20792084 ("remove" , - 1 , ["read" ], ["read" ]),
20802085 ("remove" , - 1 , ["starred" ], []),
20812086 ("remove" , - 1 , ["read" , "starred" ], ["read" ]),
20822087 ("remove" , - 1 , ["starred" , "read" ], ["read" ]),
2088+ ("remove" , - 1 , ["mentioned" ], ["mentioned" ]),
2089+ ("remove" , - 1 , ["wildcard_mentioned" ], ["wildcard_mentioned" ]),
2090+ ("remove" , - 1 , ["mentioned" , "starred" ], ["mentioned" ]),
2091+ ("remove" , - 1 , ["wildcard_mentioned" , "starred" ], ["wildcard_mentioned" ]),
20832092 ],
20842093 )
20852094 def test_update_star_status (
@@ -2158,11 +2167,19 @@ def test_update_star_status(
21582167 ("add" , ["read" ], ["read" ]),
21592168 ("add" , ["starred" ], ["starred" , "read" ]),
21602169 ("add" , ["read" , "starred" ], ["read" , "starred" ]),
2170+ ("add" , ["mentioned" ], ["mentioned" , "read" ]),
2171+ ("add" , ["read" , "mentioned" ], ["read" , "mentioned" ]),
2172+ ("add" , ["mentioned" , "starred" ], ["mentioned" , "starred" , "read" ]),
2173+ ("add" , ["wildcard_mentioned" ], ["wildcard_mentioned" , "read" ]),
21612174 ("remove" , [], []),
21622175 ("remove" , ["read" ], ["read" ]), # msg cannot be marked 'unread'
21632176 ("remove" , ["starred" ], ["starred" ]),
2177+ ("remove" , ["mentioned" ], ["mentioned" ]),
21642178 ("remove" , ["starred" , "read" ], ["starred" , "read" ]),
21652179 ("remove" , ["read" , "starred" ], ["read" , "starred" ]),
2180+ ("remove" , ["read" , "mentioned" ], ["read" , "mentioned" ]),
2181+ ("remove" , ["wildcard_mentioned" ], ["wildcard_mentioned" ]),
2182+ ("remove" , ["read" , "wildcard_mentioned" ], ["read" , "wildcard_mentioned" ]),
21662183 ],
21672184 )
21682185 def test_update_read_status (
@@ -2180,7 +2197,23 @@ def test_update_read_status(
21802197
21812198 model .index = dict (
21822199 messages = {msg_id : {"flags" : flags_before } for msg_id in indexed_ids },
2183- unread_mentioned_msg_ids = set (),
2200+ mentioned_msg_ids = set (
2201+ [
2202+ msg_id
2203+ for msg_id in indexed_ids
2204+ if {"mentioned" , "wildcard_mentioned" } & set (flags_before )
2205+ ]
2206+ ),
2207+ unread_mentioned_msg_ids = set (
2208+ [
2209+ msg_id
2210+ for msg_id in indexed_ids
2211+ if (
2212+ {"mentioned" , "wildcard_mentioned" } & set (flags_before )
2213+ and "read" not in flags_before
2214+ )
2215+ ]
2216+ ),
21842217 starred_msg_ids = set (
21852218 [msg_id for msg_id in indexed_ids if "starred" in flags_before ]
21862219 ),
0 commit comments