Reset window location before every test [RUN AS-IF-FOSS]
What does this MR do?
Reset window.location before each test
This ensures that even if a test changes the current location using the
setWindowLocation
helper, it doesn't affect other tests in the same
file. In other words, it improves isolation between tests a bit.
Addresses #336917 (closed).
TODO
-
Compare Jest suite runtime before and after this change. Since it's adding a universal beforeEach
, more code is executed on every test in our Jest test suite, which may add up to become a significant increase in runtime. Or, perhaps not! Edit: It turns out to make no statistical difference to the total runtime:
Job | Suite duration before | Suite duration after |
---|---|---|
jest 1/5 | 814s | 730s |
jest 2/5 | 767s | 750s |
jest 3/5 | 799s | 827s |
jest 4/5 | 798s | 772s |
jest 5/5 | 846s | 811s |
-
Add test that verifies that changes in one test via setWindowLocation
don't affect another test in the same file.
Screenshots or Screencasts (strongly suggested)
n/a
How to setup and validate locally (strongly suggested)
Does this MR meet the acceptance criteria?
Conformity
-
I have included changelog trailers, or none are needed. (Does this MR need a changelog?) -
I have added/updated documentation, or it's not needed. (Is documentation required?) -
I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?) - [-] I have added information for database reviewers in the MR description, or it's not needed. (Does this MR have database related changes?)
-
I have self-reviewed this MR per code review guidelines. -
This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) -
I have followed the style guides. -
This change is backwards compatible across updates, or this does not apply.
Availability and Testing
-
I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) - [-] I have tested this MR in all supported browsers, or it's not needed.
- [-] I have informed the Infrastructure department of a default or new setting change per definition of done, or it's not needed.
Related to #336917 (closed)
Edited by Mark Florian