forked from LiskHQ/lisk-desktop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
karma.conf.js
96 lines (94 loc) · 2.31 KB
/
karma.conf.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// Karma configuration
const webpackConfig = require('./config/webpack.config.test');
webpackConfig.watch = true;
const filePattern = 'src/**/*.test.js';
const fileRoot = 'src/tests.js';
const onJenkins = process.env.ON_JENKINS;
process.env.BABEL_ENV = 'test';
module.exports = function (config) {
config.set({
// base path that will be used to resolve all patterns (eg. files, exclude)
basePath: '',
frameworks: ['mocha', 'chai'],
files: [
fileRoot,
{
pattern: filePattern,
included: false,
served: false,
watched: false,
},
],
preprocessors: {
'**/*.js': ['sourcemap'],
[fileRoot]: ['webpack'],
},
reporters: ['coverage', 'mocha', 'junit'],
coverageReporter: {
reporters: [
{
type: 'json',
dir: 'coverage/',
},
{
type: 'cobertura',
dir: 'coverage/',
},
{
type: onJenkins ? 'lcov' : 'html',
dir: 'coverage/',
},
],
check: {
global: {
statements: 80,
branches: 79,
functions: 80,
lines: 80,
},
each: {
statements: 80,
branches: 80,
functions: 80,
lines: 80,
excludes: [
'src/components/register/register.js',
'src/components/voteUrlProcessor/index.js',
'src/utils/api/liskService.js',
'src/store/reducers/liskService.js',
'src/actions/transactions.js',
'src/components/errorBoundary/index.js',
'src/components/feedbackForm/**/*.js',
],
overrides: {
'src/store/**/*.js': {
statements: 100,
},
},
},
},
},
junitReporter: {
outputFile: 'reports/junit_report.xml',
useBrowserName: false,
},
webpack: webpackConfig,
webpackMiddleware: {
noInfo: true,
// and use stats to turn off verbose output
stats: {
// options i.e.
chunks: false,
},
},
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: false,
browsers: ['ChromeHeadless'],
singleRun: true,
browserNoActivityTimeout: 60000,
browserDisconnectTolerance: 3,
concurrency: Infinity,
});
};