-
Notifications
You must be signed in to change notification settings - Fork 539
/
Copy pathrun.js
52 lines (45 loc) · 1.5 KB
/
run.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
52
'use strict';
var path = require('path');
var jest = require('jest');
var algoliasearch = require('algoliasearch');
var staticJestConfig = require('../jest.config');
var enableIntegrationTest =
process.env.ONLY_UNIT !== 'true' &&
process.env.INTEGRATION_TEST_API_KEY &&
process.env.INTEGRATION_TEST_APPID;
var projectsRootPaths = [path.resolve(__dirname, '..')];
var dynamicJestConfig = Object.assign({}, staticJestConfig, {
maxWorkers: 4,
setupFilesAfterEnv: staticJestConfig.setupFilesAfterEnv || [],
});
if (enableIntegrationTest) {
dynamicJestConfig.testMatch.push(
'<rootDir>/test/integration-spec/**/*.[jt]s?(x)'
);
dynamicJestConfig.setupFilesAfterEnv.push(
path.resolve(__dirname, '..', 'jest.setup.js')
);
}
jest.runCLI(dynamicJestConfig, projectsRootPaths).then(function (response) {
if (!response.results.success) {
process.exitCode = response.globalConfig.testFailureExitCode;
}
if (enableIntegrationTest) {
var client = algoliasearch(
process.env.INTEGRATION_TEST_APPID,
process.env.INTEGRATION_TEST_API_KEY
);
client.deleteIndex =
client.deleteIndex ||
function (deleteIndexName) {
return client.initIndex(deleteIndexName).delete();
};
client.listIndexes = client.listIndexes || client.listIndices;
client.listIndexes().then((content) => {
content.items
.map((i) => i.name)
.filter((n) => n.indexOf('_circle-algoliasearch-helper') !== -1)
.forEach((n) => client.deleteIndex(n));
});
}
});