dispatch tests: Add tests for removing starred flags.

This commit is contained in:
Steve Howell
2019-01-26 18:28:39 +00:00
committed by showell
parent f7cf759740
commit 1279249a09

View File

@@ -80,10 +80,6 @@ set_global('blueslip', {
},
});
set_global('starred_messages', {
add: noop,
});
// notify_server_message_read requires message_store and these dependencies.
zrequire('unread');
zrequire('topic_data');
@@ -91,6 +87,7 @@ zrequire('stream_list');
zrequire('message_flags');
zrequire('message_store');
zrequire('people');
zrequire('starred_messages');
zrequire('util');
zrequire('server_events_dispatch');
@@ -618,13 +615,20 @@ var event_fixtures = {
messages: [999],
},
update_message_flags__starred: {
update_message_flags__starred_add: {
type: 'update_message_flags',
operation: 'add',
flag: 'starred',
messages: [test_message.id],
},
update_message_flags__starred_remove: {
type: 'update_message_flags',
operation: 'remove',
flag: 'starred',
messages: [test_message.id],
},
delete_message: {
type: 'delete_message',
message_id: 1337,
@@ -680,12 +684,17 @@ var event_fixtures = {
user_id: 55,
away: true,
},
user_status__set_status_text: {
type: 'user_status',
user_id: test_user.user_id,
status_text: 'out to lunch',
},
};
function assert_same(actual, expected) {
// This helper prevents us from getting false positives
// where actual and expected are both undefined.
assert(expected);
assert(expected !== undefined);
assert.deepEqual(actual, expected);
}
@@ -1381,7 +1390,10 @@ with_overrides(function (override) {
with_overrides(function (override) {
// update_message_flags__starred
var event = event_fixtures.update_message_flags__starred;
override('starred_messages.rerender_ui', noop);
var event = event_fixtures.update_message_flags__starred_add;
global.with_stub(function (stub) {
override('ui.update_starred_view', stub.f);
dispatch(event);
@@ -1391,6 +1403,17 @@ with_overrides(function (override) {
var msg = message_store.get(test_message.id);
assert.equal(msg.starred, true);
});
event = event_fixtures.update_message_flags__starred_remove;
global.with_stub(function (stub) {
override('ui.update_starred_view', stub.f);
dispatch(event);
var args = stub.get_args('message_id', 'new_value');
assert_same(args.message_id, test_message.id);
assert_same(args.new_value, false);
var msg = message_store.get(test_message.id);
assert.equal(msg.starred, false);
});
});
with_overrides(function (override) {