mirror of
https://github.com/zulip/zulip.git
synced 2025-11-14 02:48:00 +00:00
recent_topics: Add persistence for filters via localstorage.
Previously the filter would be reset every time the page was refreshed. This commit adds persistence via localstorage, the tests follow the pattern used in tests for drafts. Fixes: #15676.
This commit is contained in:
@@ -14,17 +14,19 @@ set_global("location", {
|
||||
set_global("to_$", () => window_stub);
|
||||
|
||||
const people = zrequire("people");
|
||||
zrequire("localstorage");
|
||||
const hash_util = zrequire("hash_util");
|
||||
const hashchange = zrequire("hashchange");
|
||||
const stream_data = zrequire("stream_data");
|
||||
zrequire("navigate");
|
||||
zrequire("recent_topics");
|
||||
|
||||
const recent_topics = zrequire("recent_topics");
|
||||
recent_topics.show = () => {};
|
||||
recent_topics.is_visible = () => false;
|
||||
|
||||
set_global("search", {
|
||||
update_button_visibility: () => {},
|
||||
});
|
||||
set_global((recent_topics.is_visible = () => false));
|
||||
set_global("document", "document-stub");
|
||||
const history = set_global("history", {});
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ const $ = require("../zjsunit/zjquery");
|
||||
|
||||
zrequire("message_util");
|
||||
zrequire("narrow_state");
|
||||
zrequire("localstorage");
|
||||
|
||||
const noop = () => {};
|
||||
set_global("top_left_corner", {
|
||||
@@ -87,6 +88,22 @@ set_global("drafts", {
|
||||
update_draft: noop,
|
||||
});
|
||||
|
||||
const ls_container = new Map();
|
||||
set_global("localStorage", {
|
||||
getItem(key) {
|
||||
return ls_container.get(key);
|
||||
},
|
||||
setItem(key, val) {
|
||||
ls_container.set(key, val);
|
||||
},
|
||||
removeItem(key) {
|
||||
ls_container.delete(key);
|
||||
},
|
||||
clear() {
|
||||
ls_container.clear();
|
||||
},
|
||||
});
|
||||
|
||||
// Custom Data
|
||||
|
||||
// New stream
|
||||
|
||||
@@ -113,9 +113,10 @@ const messages = {
|
||||
// This is an example of a deep unit test, where our dependencies
|
||||
// are easy to test. Start by requiring the dependencies:
|
||||
zrequire("recent_senders");
|
||||
zrequire("localstorage");
|
||||
const unread = zrequire("unread");
|
||||
const stream_topic_history = zrequire("stream_topic_history");
|
||||
zrequire("recent_topics");
|
||||
const recent_topics = zrequire("recent_topics");
|
||||
|
||||
// And finally require the module that we will test directly:
|
||||
const message_store = zrequire("message_store");
|
||||
|
||||
@@ -105,6 +105,8 @@ rewiremock.proxy(() => zrequire("notifications"), {
|
||||
"../../static/js/favicon": {},
|
||||
});
|
||||
zrequire("pm_list");
|
||||
zrequire("list_cursor");
|
||||
zrequire("localstorage");
|
||||
zrequire("keydown_util");
|
||||
zrequire("stream_list");
|
||||
zrequire("topic_list");
|
||||
|
||||
Reference in New Issue
Block a user