UNPKG

2.97 kBJavaScriptView Raw
1module.exports = function(config) {
2 process.env.CHROME_BIN = require('puppeteer').executablePath();
3
4 config.set({
5 // base path that will be used to resolve all patterns (eg. files, exclude)
6 basePath: '',
7
8 // frameworks to use
9 frameworks: ['mocha', 'browserify'],
10
11 //plugins
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 // list of files / patterns to load in the browser
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 // test results reporter to use
43 reporters: ['mocha', 'BrowserStack'],
44
45 // web server port
46 port: 9876,
47
48 // enable / disable colors in the output (reporters and logs)
49 colors: true,
50
51 singleRun: true,
52
53 browserNoActivityTimeout: 60000,
54
55 browserDisconnectTimeout: 20000,
56
57 browserDisconnectTolerance: 3,
58
59 // level of logging
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 // define browsers
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};