2018-07-03 01:30:43 +02:00
|
|
|
zrequire('unread');
|
|
|
|
zrequire('unread_ops');
|
|
|
|
zrequire('message_flags');
|
|
|
|
|
|
|
|
set_global('ui', {});
|
|
|
|
set_global('channel', {});
|
2018-08-17 03:46:32 +02:00
|
|
|
set_global('starred_messages', {
|
|
|
|
add: () => {},
|
|
|
|
remove: () => {},
|
|
|
|
});
|
2018-07-03 01:30:43 +02:00
|
|
|
|
|
|
|
run_test('starred', () => {
|
|
|
|
const message = {
|
|
|
|
id: 50,
|
|
|
|
};
|
|
|
|
|
|
|
|
var ui_updated;
|
|
|
|
|
2018-08-01 19:02:38 +02:00
|
|
|
ui.update_starred_view = () => {
|
2018-07-03 01:30:43 +02:00
|
|
|
ui_updated = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
var posted_data;
|
|
|
|
|
|
|
|
channel.post = (opts) => {
|
|
|
|
assert.equal(opts.url, '/json/messages/flags');
|
|
|
|
posted_data = opts.data;
|
|
|
|
};
|
|
|
|
|
2018-08-01 20:09:12 +02:00
|
|
|
message_flags.toggle_starred_and_update_server(message);
|
2018-07-03 01:30:43 +02:00
|
|
|
|
|
|
|
assert(ui_updated);
|
|
|
|
|
|
|
|
assert.deepEqual(posted_data, {
|
|
|
|
messages: '[50]',
|
|
|
|
flag: 'starred',
|
|
|
|
op: 'add',
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(message, {
|
|
|
|
id: 50,
|
|
|
|
starred: true,
|
|
|
|
});
|
|
|
|
|
|
|
|
ui_updated = false;
|
|
|
|
|
2018-08-01 20:09:12 +02:00
|
|
|
message_flags.toggle_starred_and_update_server(message);
|
2018-07-03 01:30:43 +02:00
|
|
|
|
|
|
|
assert(ui_updated);
|
|
|
|
|
|
|
|
assert.deepEqual(posted_data, {
|
|
|
|
messages: '[50]',
|
|
|
|
flag: 'starred',
|
|
|
|
op: 'remove',
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(message, {
|
|
|
|
id: 50,
|
|
|
|
starred: false,
|
|
|
|
});
|
|
|
|
});
|