diff --git a/frontend_tests/node_tests/message_store.js b/frontend_tests/node_tests/message_store.js index 819f8b1aa6..288a09ba3a 100644 --- a/frontend_tests/node_tests/message_store.js +++ b/frontend_tests/node_tests/message_store.js @@ -87,7 +87,14 @@ function convert_recipients(people) { })); } -run_test("add_message_metadata", () => { +function test(label, f) { + run_test(label, (override) => { + message_store.clear_for_testing(); + f(override); + }); +} + +test("add_message_metadata", () => { let message = { sender_email: "me@example.com", sender_id: me.user_id, @@ -155,7 +162,7 @@ run_test("add_message_metadata", () => { ]); }); -run_test("message_booleans_parity", () => { +test("message_booleans_parity", () => { // We have two code paths that update/set message booleans. // This test asserts that both have identical behavior for the // flags common between them. @@ -195,7 +202,7 @@ run_test("message_booleans_parity", () => { }); }); -run_test("errors", () => { +test("errors", () => { // Test a user that doesn't exist let message = { type: "private", @@ -229,7 +236,7 @@ run_test("errors", () => { ); }); -run_test("update_booleans", () => { +test("update_booleans", () => { const message = {}; // First, test fields that we do actually want to update. @@ -266,7 +273,7 @@ run_test("update_booleans", () => { assert.equal(message.unread, true); }); -run_test("update_property", () => { +test("update_property", () => { const message1 = { type: "stream", sender_full_name: alice.full_name, @@ -315,7 +322,7 @@ run_test("update_property", () => { assert.equal(message2.display_recipient, denmark.name); }); -run_test("message_id_change", () => { +test("message_id_change", () => { const message = { sender_email: "me@example.com", sender_id: me.user_id, @@ -353,7 +360,7 @@ run_test("message_id_change", () => { } }); -run_test("errors", () => { +test("errors", () => { blueslip.expect("error", "message_store.get got bad value: undefined"); message_store.get(undefined); }); diff --git a/static/js/message_store.js b/static/js/message_store.js index b13932d69f..525218f45d 100644 --- a/static/js/message_store.js +++ b/static/js/message_store.js @@ -23,6 +23,11 @@ const stored_messages = new Map(); */ const message_user_ids = new Set(); +export function clear_for_testing() { + stored_messages.clear(); + message_user_ids.clear(); +} + export function user_ids() { return Array.from(message_user_ids); }