Files
zulip/zerver/tests/frontend/node/muting.js
Steve Howell 4b095cbad1 Make "assert" global in the node tests.
In the early days of the node tests we didn't have an index.js
driver, so each test set it up its own environment.  That ship
has long since sailed, so now we just require assert in index.js
as a global and make it so that the linter doesn't complain.

(imported from commit 1ded3d330ff40603cf4dd7c5578f6a47088d7cc8)
2014-02-03 10:54:38 -05:00

65 lines
1.8 KiB
JavaScript

set_global('page_params', {
domain: 'zulip.com'
});
var muting = require('js/muting.js');
(function test_edge_cases() {
// private messages
assert(!muting.is_topic_muted(undefined, undefined));
// defensive
assert(!muting.is_topic_muted('nonexistent', undefined));
}());
(function test_basics() {
assert(!muting.is_topic_muted('devel', 'java'));
muting.mute_topic('devel', 'java');
assert(muting.is_topic_muted('devel', 'java'));
// test idempotentcy
muting.mute_topic('devel', 'java');
assert(muting.is_topic_muted('devel', 'java'));
muting.unmute_topic('devel', 'java');
assert(!muting.is_topic_muted('devel', 'java'));
// test idempotentcy
muting.unmute_topic('devel', 'java');
assert(!muting.is_topic_muted('devel', 'java'));
// test unknown stream is harmless too
muting.unmute_topic('unknown', 'java');
assert(!muting.is_topic_muted('unknown', 'java'));
}());
(function test_get_and_set_muted_topics() {
assert.deepEqual(muting.get_muted_topics(), []);
muting.mute_topic('office', 'gossip');
muting.mute_topic('devel', 'java');
assert.deepEqual(muting.get_muted_topics().sort(), [
['devel', 'java'],
['office', 'gossip']
]);
muting.set_muted_topics([
['social', 'breakfast'],
['design', 'typography']
]);
assert.deepEqual(muting.get_muted_topics().sort(), [
['design', 'typography'],
['social', 'breakfast']
]);
}());
(function test_case_insensitivity() {
muting.set_muted_topics([]);
assert(!muting.is_topic_muted('SOCial', 'breakfast'));
muting.set_muted_topics([
['SOCial', 'breakfast']
]);
assert(muting.is_topic_muted('SOCial', 'breakfast'));
assert(muting.is_topic_muted('social', 'breakfast'));
assert(muting.is_topic_muted('social', 'breakFAST'));
}());