-
-
Notifications
You must be signed in to change notification settings - Fork 495
/
karma.tests.js
51 lines (44 loc) · 1.62 KB
/
karma.tests.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import Enzyme from "enzyme";
import Adapter from "@wojtekmaj/enzyme-adapter-react-17";
import {setCurrentTest, setCurrentTestName, setFilterSpec, getCurrentTestName} from "./support/utils";
import "@react-awesome-query-builder/ui/css/styles.scss";
Enzyme.configure({adapter: new Adapter()});
// FILTER YOUR TESTS HERE
const testsFilter = [
];
const specFilter = [
];
const origDescribe = describe;
// eslint-disable-next-line no-global-assign
describe = function (suiteName, fn) {
setCurrentTestName(suiteName);
return origDescribe.call(this, suiteName, fn);
};
//console.log("Importing specs...");
const filterArgs = testsFilter?.length ? testsFilter : process?.env?.FILTER_ARGS;
const tests = require.context("./specs", true, /\.test\.[tj]sx?$/);
const filteredFiles = tests.keys().filter((path) => {
if (!filterArgs?.length) {
return true;
}
return !!filterArgs.find((filter) => path.includes(filter));
});
if (filterArgs?.length) {
console.log("Matched tests: " + (filteredFiles.length ? filteredFiles.join(" ") : "none"));
}
filteredFiles.forEach(tests);
before(function() {
//console.log("Starting tests...");
});
beforeEach(function() {
const currentTestName = this.currentTest.titlePath().join(" - ");
const canExecute = !specFilter?.length || !!specFilter.find(f => currentTestName.includes(f));
if (canExecute) {
this.currentTest.timeout(parseInt(process?.env?.TEST_TIMEOUT ?? "10000")); // increase from 2000
setCurrentTest(this.currentTest);
setCurrentTestName(currentTestName);
} else {
//console.log(`Skipping spec ${currentTestName}`);
this.currentTest.fn = function() { this.skip(); };
}
});