mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 21:13:36 +00:00
node tests: Add more comments to general.js.
This commit is contained in:
committed by
Steve Howell
parent
52e9c4bc6a
commit
4efed2c975
@@ -1,15 +1,25 @@
|
||||
"use strict";
|
||||
|
||||
// This is a general tour of how to write node tests that
|
||||
// may also give you some quick insight on how the Zulip
|
||||
// browser app is constructed.
|
||||
|
||||
// The statements below are pretty typical for most node
|
||||
// tests. The reason we need these helpers will hopefully
|
||||
// become clear as you keep reading.
|
||||
const {strict: assert} = require("assert");
|
||||
|
||||
const {set_global, zrequire} = require("../zjsunit/namespace");
|
||||
const {run_test} = require("../zjsunit/test");
|
||||
|
||||
// This is a general tour of how to write node tests that
|
||||
// may also give you some quick insight on how the Zulip
|
||||
// browser app is constructed. Let's start with testing
|
||||
// Let's start with testing
|
||||
// a function from util.js.
|
||||
//
|
||||
// We will use our special zrequire helper to import the
|
||||
// code from util. We use zrequire instead of require,
|
||||
// because it has some magic to clear state when we move
|
||||
// on to the next test.
|
||||
//
|
||||
// The most basic unit tests load up code, call functions,
|
||||
// and assert truths:
|
||||
|
||||
@@ -61,12 +71,18 @@ const denmark_stream = {
|
||||
// Some quick housekeeping: Let's clear page_params, which is a data
|
||||
// structure that the server sends down to us when the app starts. We
|
||||
// prefer to test with a clean slate.
|
||||
//
|
||||
// We use both set_global and zrequire here for test isolation.
|
||||
//
|
||||
// We also introduce the run_test helper, which mostly just causes
|
||||
// a line of output to go to the console. It does a little more than
|
||||
// that, which we will see later.
|
||||
|
||||
set_global("page_params", {});
|
||||
|
||||
zrequire("stream_data");
|
||||
|
||||
run_test("stream_data", () => {
|
||||
run_test("verify stream_data persists stream color", () => {
|
||||
assert.equal(stream_data.get_sub_by_name("Denmark"), undefined);
|
||||
stream_data.add_sub(denmark_stream);
|
||||
const sub = stream_data.get_sub_by_name("Denmark");
|
||||
@@ -325,6 +341,11 @@ run_test("add_user_event", () => {
|
||||
to put some stub objects into the global namespace (as
|
||||
opposed to using the "real" code).
|
||||
|
||||
This is where we see a little extra benefit from the
|
||||
run_test wrapper. It passes us in an object that we
|
||||
can use to override data, and that works within the
|
||||
scope of the function.
|
||||
|
||||
*/
|
||||
|
||||
set_global("activity", {});
|
||||
|
||||
Reference in New Issue
Block a user