1 | module.exports = function(config) {
|
2 | process.env.CHROME_BIN = require('puppeteer').executablePath();
|
3 |
|
4 | config.set({
|
5 |
|
6 | basePath: '',
|
7 |
|
8 |
|
9 | frameworks: ['mocha', 'browserify'],
|
10 |
|
11 |
|
12 | plugins: [
|
13 | 'karma-mocha',
|
14 | 'karma-babel-preprocessor',
|
15 | 'karma-browserstack-launcher',
|
16 | 'karma-chrome-launcher',
|
17 | 'karma-browserify',
|
18 | 'karma-mocha-reporter'
|
19 | ],
|
20 |
|
21 |
|
22 | files: [
|
23 | 'test/**/*.test.js',
|
24 | 'test/setup.js',
|
25 | {
|
26 | pattern: 'src/!(__tests__)/**/*.jsx?',
|
27 | type: 'js'
|
28 | }
|
29 | ],
|
30 |
|
31 | preprocessors: {
|
32 | 'src/!(__tests__)/**/*.jsx?': ['browserify'],
|
33 | 'test/**/*.js': ['browserify']
|
34 | },
|
35 |
|
36 | browserify: {
|
37 | debug: true,
|
38 | transform: ['babelify'],
|
39 | extensions: ['.js', '.jsx']
|
40 | },
|
41 |
|
42 |
|
43 | reporters: ['mocha', 'BrowserStack'],
|
44 |
|
45 |
|
46 | port: 9876,
|
47 |
|
48 |
|
49 | colors: true,
|
50 |
|
51 | singleRun: true,
|
52 |
|
53 | browserNoActivityTimeout: 60000,
|
54 |
|
55 | browserDisconnectTimeout: 20000,
|
56 |
|
57 | browserDisconnectTolerance: 3,
|
58 |
|
59 |
|
60 | logLevel: config.LOG_INFO,
|
61 |
|
62 | browserStack: {
|
63 | username: process.env.BROWSERSTACK_USERNAME,
|
64 | accessKey: process.env.BROWSERSTACK_ACCESS_KEY,
|
65 | name: 'Lock.js Browser Tests',
|
66 | project: 'Lock.js SDK'
|
67 | },
|
68 |
|
69 | mochaReporter: {
|
70 | output: 'minimal'
|
71 | },
|
72 |
|
73 |
|
74 | customLaunchers: {
|
75 | bs_chrome_windows: {
|
76 | base: 'BrowserStack',
|
77 | browser: 'chrome',
|
78 | browser_version: 'latest',
|
79 | os: 'Windows',
|
80 | os_version: '10',
|
81 | displayName: 'Chrome on Windows 10'
|
82 | },
|
83 | bs_edge_windows: {
|
84 | base: 'BrowserStack',
|
85 | browser: 'edge',
|
86 | browser_version: 'latest',
|
87 | os: 'Windows',
|
88 | os_version: '10',
|
89 | displayName: 'Chrome on Windows 10'
|
90 | },
|
91 | bs_firefox_windows: {
|
92 | base: 'BrowserStack',
|
93 | browser: 'firefox',
|
94 | browser_version: 'latest',
|
95 | os: 'Windows',
|
96 | os_version: '10',
|
97 | displayName: 'Firefox on Windows 10'
|
98 | },
|
99 | bs_safari: {
|
100 | base: 'BrowserStack',
|
101 | browser: 'safari',
|
102 | browser_version: 'latest',
|
103 | os: 'OS X',
|
104 | os_version: 'Big Sur',
|
105 | displayName: 'Latest Safari on Big Sur'
|
106 | },
|
107 | bs_ie11_windows: {
|
108 | base: 'BrowserStack',
|
109 | browser: 'IE',
|
110 | browser_version: 'latest',
|
111 | os: 'Windows',
|
112 | os_version: '10',
|
113 | displayName: 'IE11 on Windows 10'
|
114 | },
|
115 | chrome_headless: {
|
116 | base: 'Chrome',
|
117 | flags: ['--headless']
|
118 | }
|
119 | },
|
120 |
|
121 | browsers: [
|
122 | 'bs_chrome_windows',
|
123 | 'bs_firefox_windows',
|
124 | 'bs_safari',
|
125 | 'bs_ie11_windows',
|
126 | 'bs_edge_windows'
|
127 | ]
|
128 | });
|
129 | };
|