DEV: Improve stability of Tests (PR #15591)

  • The current evaluation of uppy promises is causing the entire suite to fail if there’s an exception. Instead of using done we use the simpler pattern of returning the promise from the test to force Qunit to wait until it’s completed.

  • In some browser conditions /last.json will be requested depending on the particular scroll / performance. This causes the tests not to fail if that is the case.

  • Keyboard shortcuts were not being fully cleared between runs, resulting in tests failures.