Headless CMS and Content Managment Hub
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

89 lines
2.4 KiB

const webpackConfig = require('./webpack.config');
module.exports = function (config) {
var _config = {
/**
* Base path that will be used to resolve all patterns (e.g. files, exclude).
*/
basePath: '',
frameworks: ['jasmine'],
/**
* Load additional test shim to setup angular for testing.
*/
files: [
{ pattern: './app-config/karma-test-shim.js', watched: false }
],
preprocessors: {
'./app-config/karma-test-shim.js': ['webpack', 'sourcemap']
},
/**
* Load the files with webpack and use test configuration for it.
*/
webpack: webpackConfig({ target: 'tests', coverage: true, jit: true }),
webpackMiddleware: {
stats: 'errors-only'
},
webpackServer: {
noInfo: true
},
/**
* Use a mocha style console reporter, html reporter and the code coverage reporter.
*/
reporters: ['mocha', 'html', 'coverage-istanbul'],
htmlReporter: {
useCompactStyle: true,
/**
* Use the same folder like the html report for coverage reports.
*/
outputFile: '_test-output/tests.html',
/**
* Group the output by test suite (describe), equivalent to mocha reporter.
*/
groupSuites: true
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../_test-output/coverage'),
reports: [
'html',
'lcovonly'
],
fixWebpackSourcePaths: true
},
/**
* Disable continuous Integration mode, run only one time.
*/
singleRun: true,
customLaunchers: {
ChromeCustom: {
base: 'ChromeHeadless',
/**
* We must disable the Chrome sandbox (Chrome's sandbox needs more permissions than Docker allows by default).
*/
flags: ['--no-sandbox']
}
},
/**
* Run with chrome because phantom js does not provide all types.
*
* Available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
*/
browsers: ['ChromeCustom']
};
config.set(_config);
};