Fix closing all modals (#12728)

* Fix closing all modals

We used `Modal.closeCurrentModal()` in a bunch of places, in all cases
(as far as I can see: it wasn't commented) we meant to close all open
modals. This swaps that function for one that closes all open modals.

Also types the close reason which claimed to be something in a comment,
of course, was wrong because a load of places passed their own random
string which was never used.

* Force close modals

* Try with minimal changes

* Already had a method for this

* Add test

* More tests

* Unused importsd
This commit is contained in:
David Baker 2024-07-05 14:39:13 +01:00 committed by GitHub
parent a7542dc0ac
commit dcf7643d4a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 95 additions and 17 deletions

View file

@ -204,7 +204,7 @@ export const clearAllModals = async (): Promise<void> => {
// Prevent modals from leaking and polluting other tests
let keepClosingModals = true;
while (keepClosingModals) {
keepClosingModals = Modal.closeCurrentModal("End of test (clean-up)");
keepClosingModals = Modal.closeCurrentModal();
// Then wait for the screen to update (probably React rerender and async/await).
// Important for tests using Jest fake timers to not get into an infinite loop