This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/tests
Andrei Prigorshnev 178b294a62
FIX: flaky javascript tests with fake timers (#13235)
The problem was happening in component integration tests on the rendering stage, sometimes the rendering would never finish.

Using time moments in the future when faking time solves the problem. Unfortunately, I don't know why exactly it helps. It was just a lucky guess after some hours I spent trying to figure out what's going on. But I've done a lot of testings, so looks like it really works. I'll be monitoring builds for some time after merging this anyway.

Unit tests seem to work alright with moments in the past. And we don't fake time in acceptance tests at the moment but I guess they would very likely be flaky with time moments from the past since they also do rendering.

I'm actually thinking of moving all fake time moments to the future (including moments in unit tests) to decrease the chances of flakiness. But I don't want to do everything in one PR, because I can accidentally introduce new flakiness.

A pretty easy way of picking time moments in the future for tests is to use the 2100 year. It has the same calendar as 2021. If a day is Monday in 2021 it's Monday in 2100 too.
2021-06-11 13:51:27 +04:00
..
acceptance DEV: Remove test that is no longer providing value. 2021-06-11 12:45:37 +08:00
fixtures FEATURE: Add user custom fields to user directory (#13238) 2021-06-07 12:34:01 -05:00
helpers FIX: flaky javascript tests with fake timers (#13235) 2021-06-11 13:51:27 +04:00
integration FIX: flaky javascript tests with fake timers (#13235) 2021-06-11 13:51:27 +04:00
unit FIX: flaky javascript tests with fake timers (#13235) 2021-06-11 13:51:27 +04:00
core_plugins_tests.js FEATURE: Allow theme tests to be run in production (take 2) (#12845) 2021-04-28 23:12:08 +03:00
index.html FIX: Clicking on a URL with a different url prefix did not work (#13349) 2021-06-11 11:44:30 +10:00
plugin_tests.js.erb FIX: Load .js files from plugins in qunit testing env (#11304) 2020-12-03 10:25:42 -06:00
setup-tests.js FEATURE: Add user custom fields to user directory (#13238) 2021-06-07 12:34:01 -05:00
test_helper.js DEV: Move pretty-text into vendor and use that (#13273) 2021-06-04 11:01:59 -04:00
test_starter.js Update menu swipe (#13277) 2021-06-07 12:31:16 -07:00
test-helper.js DEV: Make dockcontainer and hidepassed the defaults (#12416) 2021-03-16 14:34:59 -04:00
theme_qunit_ember_jquery.js FIX: Theme tests should work in production (#13333) 2021-06-08 22:03:59 +03:00
theme_qunit_helper.js DEV: Arrange theme QUnit dependencies in the right order (#12907) 2021-04-30 13:28:33 +03:00
theme_qunit_tests_vendor.js FIX: Theme tests should work in production (#13333) 2021-06-08 22:03:59 +03:00
theme_qunit_vendor.js FIX: Theme tests should work in production (#13333) 2021-06-08 22:03:59 +03:00