Make the e2e tests wait for the app to start and close before running next test (#2952)

When trying to debug why the tests broke for
https://github.com/MichMich/MagicMirror/pull/2946 I found that the tests
does not wait for the app to start and close. So if the startup isn't
blocking that would fail.

So I added a callback for `close()` too and converted them to promises
for the `startApplication()` and `stopApplication()` and updated all the
e2e tests to await both. Will try to refactor all these callbacks to
promises in a later PR.
This commit is contained in:
buxxi
2022-10-29 22:34:17 +02:00
committed by GitHub
parent 7058fc5fd8
commit f25abfd2f8
20 changed files with 189 additions and 168 deletions

View File

@@ -222,9 +222,9 @@ function App() {
}
}
loadModules(modules, function () {
loadModules(modules, async function () {
httpServer = new Server(config);
const { app, io } = httpServer.open();
const { app, io } = await httpServer.open();
Log.log("Server started ...");
const nodePromises = [];
@@ -262,14 +262,16 @@ function App() {
* exists.
*
* Added to fix #1056
*
* @param {Function} callback Function to be called after the app has stopped
*/
this.stop = function () {
this.stop = function (callback) {
for (const nodeHelper of nodeHelpers) {
if (typeof nodeHelper.stop === "function") {
nodeHelper.stop();
}
}
httpServer.close();
httpServer.close().then(callback);
};
/**