mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 22:43:42 +00:00
message_store.js: Increase coverage for add_message.
This commit is contained in:
@@ -5,12 +5,30 @@ add_dependencies({
|
||||
});
|
||||
|
||||
var noop = function () {};
|
||||
var with_overrides = global.with_overrides;
|
||||
var people = global.people;
|
||||
|
||||
set_global('alert_words', {
|
||||
process_message: noop,
|
||||
});
|
||||
|
||||
set_global('stream_data' , {
|
||||
process_message_for_recent_topics: noop,
|
||||
});
|
||||
|
||||
set_global('recent_senders', {
|
||||
process_message_for_senders: noop,
|
||||
});
|
||||
|
||||
set_global('page_params', {
|
||||
realm_allow_message_editing: true,
|
||||
is_admin: true,
|
||||
});
|
||||
|
||||
set_global('blueslip', {
|
||||
error: noop,
|
||||
});
|
||||
|
||||
var me = {
|
||||
email: 'me@example.com',
|
||||
user_id: 101,
|
||||
@@ -67,6 +85,7 @@ var message_store = require('js/message_store.js');
|
||||
type: 'private',
|
||||
display_recipient: [me, bob, cindy],
|
||||
flags: ['has_alert_word'],
|
||||
id: 2067,
|
||||
};
|
||||
message_store.add_message_metadata(message);
|
||||
|
||||
@@ -76,4 +95,81 @@ var message_store = require('js/message_store.js');
|
||||
assert.equal(message.display_reply_to, 'Bob, Cindy');
|
||||
assert.equal(message.alerted, true);
|
||||
assert.equal(message.is_me_message, false);
|
||||
|
||||
var retrieved_message = message_store.get(2067);
|
||||
assert.equal(retrieved_message, message);
|
||||
|
||||
// access cached previous message, and test match subject/content
|
||||
message = {
|
||||
id: 2067,
|
||||
match_subject: "subject foo",
|
||||
match_content: "bar content",
|
||||
};
|
||||
message = message_store.add_message_metadata(message);
|
||||
|
||||
assert.equal(message.reply_to, 'bob@example.com,cindy@example.com');
|
||||
assert.equal(message.to_user_ids, '103,104');
|
||||
assert.equal(message.display_reply_to, 'Bob, Cindy');
|
||||
assert.equal(message.match_subject, 'subject foo');
|
||||
assert.equal(message.match_content, 'bar content');
|
||||
|
||||
message = {
|
||||
sender_email: 'me@example.com',
|
||||
sender_id: me.user_id,
|
||||
type: 'stream',
|
||||
display_recipient: [me, cindy],
|
||||
stream: 'Zoolippy',
|
||||
topic: 'cool thing',
|
||||
subject: 'the_subject',
|
||||
id: 2068,
|
||||
};
|
||||
|
||||
// test stream properties
|
||||
with_overrides(function (override) {
|
||||
override('compose.empty_topic_placeholder', function () {
|
||||
return 'the_subject';
|
||||
});
|
||||
global.with_stub(function (stub) {
|
||||
set_global('composebox_typeahead', {add_topic: stub.f});
|
||||
message_store.add_message_metadata(message);
|
||||
var typeahead_added = stub.get_args('stream', 'subject');
|
||||
assert.deepEqual(typeahead_added.stream, [me, cindy]);
|
||||
assert.equal(message.subject, typeahead_added.subject);
|
||||
});
|
||||
|
||||
assert.equal(message.always_visible_topic_edit, true);
|
||||
assert.equal(message.on_hover_topic_edit, false);
|
||||
assert.deepEqual(message.stream, [me, cindy]);
|
||||
assert.equal(message.reply_to, 'me@example.com');
|
||||
assert.deepEqual(message.flags, []);
|
||||
assert.equal(message.alerted, false);
|
||||
|
||||
override('compose.empty_topic_placeholder', function () {
|
||||
return 'not_the_subject';
|
||||
});
|
||||
|
||||
message = {
|
||||
sender_id: me.user_id,
|
||||
type: 'stream',
|
||||
id: 2069,
|
||||
display_recipient: [me],
|
||||
sender_email: 'me@example.org',
|
||||
};
|
||||
message_store.add_message_metadata(message);
|
||||
|
||||
assert.equal(message.always_visible_topic_edit, false);
|
||||
assert.equal(message.on_hover_topic_edit, true);
|
||||
});
|
||||
|
||||
page_params.realm_allow_message_editing = false;
|
||||
message = {
|
||||
sender_id: me.user_id,
|
||||
type: 'stream',
|
||||
id: 2070,
|
||||
display_recipient: [me],
|
||||
sender_email: 'me@example.org',
|
||||
};
|
||||
message_store.add_message_metadata(message);
|
||||
assert.equal(message.always_visible_topic_edit, false);
|
||||
assert.equal(message.on_hover_topic_edit, false);
|
||||
}());
|
||||
|
||||
Reference in New Issue
Block a user