Anders Kaseorg
f4d38bc39f
zjsunit: Add unmock_module function.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-10 07:07:34 -05:00
Steve Howell
eea78df688
node tests: Clean up mock_module calls.
...
This is a deceptively ugly diff. It makes
the actual code way more tidy.
I basically inlined some calls to mock_module
and put some statements in lexical order.
2021-03-07 09:35:58 -05:00
Steve Howell
f54f7cfc33
node tests: Introduce mock_module helper.
2021-03-06 13:15:04 -05:00
Steve Howell
167fda142c
node tests: Remove __esModule cruft.
...
We just set __esModule in our rewiremock helper.
2021-03-06 12:36:07 -05:00
Steve Howell
30c7108955
zjsunit: Remove rewiremock dependency.
...
We now just use a module._load hook to inject
stubs into our code.
For conversion purposes I temporarily maintain
the API of rewiremock, apart from the enable/disable
pieces, but I will make a better wrapper in an
upcoming commit.
We can detect when rewiremock is called after
zrequire now, and I fix all the violations in
this commit, mostly by using override.
We can also detect when a mock is needlessly
created, and I fix all the violations in this
commit.
The one minor nuisance that this commit introduces
is that you can only stub out modules in the Zulip
source tree, which is now static/js. This should
not really be a problem--there are usually better
techniques to deal with third party depenencies.
In the prior commit I show a typical workaround,
which is to create a one-line wrapper in your
test code. It's often the case that you can simply
use override(), as well.
In passing I kill off `reset_modules`, and I
eliminated the second argument to zrequire,
which dates back to pre-es6 days.
2021-03-06 11:10:57 -05:00
Anders Kaseorg
7a67c06581
js: Convert static/js/message_list.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-02 17:06:35 -08:00
Anders Kaseorg
3e8ddc229b
js: Convert static/js/stream_list.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-02 17:06:35 -08:00
Anders Kaseorg
9997e13032
js: Convert static/js/unread_ops.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-02 17:06:35 -08:00
Anders Kaseorg
1ec97070e8
node_tests: Move more set_global mocks before zrequire calls.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-02 17:06:35 -08:00
Anders Kaseorg
793ff996f6
js: Convert static/js/settings_users.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
9a0fc5cc87
js: Convert static/js/user_events.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
a832983290
js: Convert static/js/activity.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
7a45ed46af
js: Convert static/js/message_util.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
5ae2f172d0
js: Convert static/js/message_flags.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
9d318f054f
js: Convert static/js/notifications.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
45b8e0244e
js: Convert static/js/overlays.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
9f881ebe34
js: Convert static/js/resize.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
a1e9be884d
js: Convert static/js/message_live_update.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
cfacf68fb8
js: Convert static/js/filter.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
1b151d0472
js: Convert static/js/recent_senders.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
850c3c65e7
js: Convert static/js/pm_list.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
20cfb9ef09
js: Convert static/js/topic_list.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
fe4d1e839c
js: Convert static/js/message_viewport.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
ece27a19bc
js: Convert static/js/unread_ui.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
09920af211
js: Convert static/js/channel.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
7c860caffc
node_tests: Remove unnecessary zrequire calls for ES6 modules.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-28 14:23:00 -08:00
Anders Kaseorg
54c97c4457
node_tests: Consistently move set_global mocks before zrequire calls.
...
This way, as we convert them to rewiremock, they will become available
before they are imported.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-26 07:55:53 -08:00
YashRE42
2cd234f1b7
recent_topics: Add persistence for filters via localstorage.
...
Previously the filter would be reset every time the page was
refreshed. This commit adds persistence via localstorage, the tests
follow the pattern used in tests for drafts.
Fixes : #15676 .
2021-02-25 17:31:32 -08:00
Aman Agrawal
1eafb1d8b3
recent_topics: Move from overlay to a narrow-like view.
...
Recent Topics is no longer an overlay now, but note that it is
also not a typical messages narrow. It can reside between
an overlay and a Filter in the sense that it is dispalyed as
a typical Filter narrow but has properties of an Overlay.
Compose box is not visible in this view as it will be confusing
to many users and hence compose shortcuts have also been disabled.
Keyboard shortcuts that apply on messages have also been disabled.
The remaining shortcuts that apply to a narrow are still accessible
here.
2021-02-25 17:31:32 -08:00
Steve Howell
1a241cef88
node tests: Use array syntax more aggressively.
2021-02-23 09:15:36 -05:00
Steve Howell
914533c8bc
zjsunit: Prevent common mistakes with overrides.
...
We only allow you to replace functions with functions,
unless you have used set_global() or are dealing
with $ from zjquery.
2021-02-22 10:04:29 -05:00
Steve Howell
183c51ba51
node tutorial: Add make_stub example.
2021-02-12 12:11:23 -05:00
Steve Howell
a5a5863bde
node tutorial: Use override in helpers.
2021-02-12 12:11:23 -05:00
Steve Howell
69ddf68f4d
node tutorial: Inline setup.
...
This code didn't make sense to run inside its own
run_test wrapper.
2021-02-12 12:11:23 -05:00
Steve Howell
118a212af8
node tutorial: Add with_field example.
2021-02-12 12:11:23 -05:00
Steve Howell
7672e7dd7b
node tutorial: Use override() more.
...
This is just a better practice.
2021-02-12 12:11:23 -05:00
Steve Howell
ba7e49c20e
node tutorial: Use set_global for overlays.
2021-02-12 12:11:23 -05:00
Steve Howell
70fb1c225b
minor: Clarify that message_store is a deep test.
...
I believe the original message_store example used
to stub some things here, but the part of the tutorial
that pertains to stubbing is further down.
2021-02-12 12:11:23 -05:00
Steve Howell
c0874462dc
node tests: Rename general.js to tutorial.js.
2021-02-12 12:11:23 -05:00