jest-test-each
Version:
run parametrised tests easily [typesafe] without text tables or arrays of arrays.
53 lines (52 loc) • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestEachEnv = exports.testEnvDefault = exports.userEnv = exports.TestEachSetup = exports.testConfig = exports.testConfigDefault = void 0;
exports.testConfigDefault = {
numericCases: true,
groupBySuites: true,
groupParentBySuite: true,
concurrent: false,
testSuiteName: {
maxLength: 200,
failOnReached: true,
},
};
exports.testConfig = {
config: exports.testConfigDefault,
};
const TestEachSetup = (config) => {
exports.testConfig.config = Object.assign(Object.assign({}, exports.testConfig.config), config);
};
exports.TestEachSetup = TestEachSetup;
exports.userEnv = {};
const envHasPending = () => {
try {
// test-runner jest-jasmine2 has 'pending', jest-circus doesn't have
return !!pending;
}
catch (err) {
return String(err).indexOf('pending is not defined') === -1;
}
};
const envPending = envHasPending();
const testEnvDefault = () => ({
env: {
beforeEach,
beforeAll,
afterAll,
afterEach,
it,
describe,
envHasPending: envPending,
pending: (reason) => {
if (envPending) {
return pending(reason);
}
},
},
});
exports.testEnvDefault = testEnvDefault;
const TestEachEnv = (env) => {
exports.userEnv.env = Object.assign(Object.assign({}, exports.testEnvDefault().env), env);
};
exports.TestEachEnv = TestEachEnv;