From a2083be76b52346d48d0c18ab2502d55035cfe11 Mon Sep 17 00:00:00 2001 From: Karsten Hassel Date: Sun, 13 Jun 2021 23:06:20 +0200 Subject: [PATCH] test order --- package.json | 10 ++++++---- tests/e2e/testSequencer.js | 11 +++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 tests/e2e/testSequencer.js diff --git a/package.json b/package.json index 44b4258c..79f0be04 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,10 @@ "install": "echo \"Installing vendor files ...\n\" && cd vendor && npm install --loglevel=error", "install-fonts": "echo \"Installing fonts ...\n\" && cd fonts && npm install --loglevel=error", "postinstall": "npm run install-fonts && echo \"MagicMirror installation finished successfully! \n\"", - "test": "NODE_ENV=test jest -i --forceExit", - "test:coverage": "NODE_ENV=test nyc --reporter=lcov --reporter=text jest -i --forceExit", - "test:e2e": "NODE_ENV=test jest --selectProjects e2e -i --forceExit", - "test:unit": "NODE_ENV=test jest --selectProjects unit -i --forceExit", + "test": "NODE_ENV=test jest -i", + "test:coverage": "NODE_ENV=test nyc --reporter=lcov --reporter=text jest -i", + "test:e2e": "NODE_ENV=test jest --selectProjects e2e -i", + "test:unit": "NODE_ENV=test jest --selectProjects unit -i", "test:prettier": "prettier . --check", "test:js": "eslint js/**/*.js modules/default/**/*.js clientonly/*.js serveronly/*.js translations/*.js vendor/*.js tests/**/*.js config/* --config .eslintrc.json --quiet", "test:css": "stylelint css/main.css modules/default/**/*.css --config .stylelintrc.json", @@ -93,6 +93,7 @@ }, "jest": { "verbose": true, + "testSequencer": "/tests/e2e/testSequencer.js", "projects": [ { "displayName": "unit", @@ -119,6 +120,7 @@ ], "testPathIgnorePatterns": [ "/tests/e2e/modules/mocks", + "/tests/e2e/testSequencer.js", "/tests/e2e/global-setup.js" ] } diff --git a/tests/e2e/testSequencer.js b/tests/e2e/testSequencer.js new file mode 100644 index 00000000..561f92d9 --- /dev/null +++ b/tests/e2e/testSequencer.js @@ -0,0 +1,11 @@ +const Sequencer = require("@jest/test-sequencer").default; + +class CustomSequencer extends Sequencer { + sort(tests) { + let copyTests = Array.from(tests); + copyTests = copyTests.sort((testA, testB) => (testA.path > testB.path ? -1 : 1)); + return (copyTests = copyTests.sort((testA, testB) => (testA.path.includes("/modules/") ? 1 : -1))); + } +} + +module.exports = CustomSequencer;