Files
zulip/web/tests/compose_state.test.js
Evy Kassirer 6e902defba node tests: Use noop helper function pattern in test files.
Some files already were using `noop` in place of `() => {}`.
It's both clearer what it means and is easier to type.
This updates all test files to fully use `noop`, and
adds a shared import from the test lib file.
2023-12-14 14:51:33 -08:00

58 lines
1.8 KiB
JavaScript

"use strict";
const {strict: assert} = require("assert");
const {mock_stream_header_colorblock} = require("./lib/compose");
const {mock_esm, zrequire} = require("./lib/namespace");
const {run_test, noop} = require("./lib/test");
const $ = require("./lib/zjquery");
const compose_pm_pill = mock_esm("../src/compose_pm_pill");
const compose_state = zrequire("compose_state");
const stream_data = zrequire("stream_data");
run_test("private_message_recipient", ({override}) => {
let emails;
override(compose_pm_pill, "set_from_emails", (value) => {
emails = value;
});
override(compose_pm_pill, "get_emails", () => emails);
compose_state.private_message_recipient("fred@fred.org");
assert.equal(compose_state.private_message_recipient(), "fred@fred.org");
});
run_test("has_full_recipient", ({override}) => {
mock_stream_header_colorblock();
$(`#compose_banners .topic_resolved`).remove = noop;
$(".narrow_to_compose_recipients").toggleClass = noop;
let emails;
override(compose_pm_pill, "set_from_emails", (value) => {
emails = value;
});
override(compose_pm_pill, "get_emails", () => emails);
compose_state.set_message_type("stream");
compose_state.set_stream_id("");
compose_state.topic("");
assert.equal(compose_state.has_full_recipient(), false);
compose_state.topic("foo");
assert.equal(compose_state.has_full_recipient(), false);
stream_data.add_sub({name: "bar", stream_id: 99});
compose_state.set_stream_id(99);
assert.equal(compose_state.has_full_recipient(), true);
compose_state.set_message_type("private");
compose_state.private_message_recipient("");
assert.equal(compose_state.has_full_recipient(), false);
compose_state.private_message_recipient("foo@zulip.com");
assert.equal(compose_state.has_full_recipient(), true);
});