64 lines
1.9 KiB
JavaScript
64 lines
1.9 KiB
JavaScript
// This is a karma config file. For more details see
|
|
// http://karma-runner.github.io/0.13/config/configuration-file.html
|
|
// we are also using it with karma-webpack
|
|
// https://github.com/webpack/karma-webpack
|
|
|
|
const path = require('path')
|
|
const webpack = require('webpack')
|
|
const webpackConfig = require('../webpack.config')
|
|
const merge = require('webpack-merge')
|
|
delete webpackConfig.entry
|
|
const scope = process.argv[5] || ''
|
|
process.env.CHROME_BIN = require('puppeteer').executablePath()
|
|
function resolve (basePath, suiteName = '') {
|
|
return path.join(basePath, '../components', suiteName.toLowerCase(), '__test__/__snapshots__', 'index.test.md')
|
|
}
|
|
module.exports = function (config) {
|
|
config.set({
|
|
// to run in additional browsers:
|
|
// 1. install corresponding karma launcher
|
|
// http://karma-runner.github.io/0.13/config/browsers.html
|
|
// 2. add it to the `browsers` array below.
|
|
browsers: ['ChromeHeadless'],
|
|
frameworks: ['mocha', 'snapshot', 'mocha-snapshot', 'sinon-chai'],
|
|
reporters: ['spec', 'coverage'],
|
|
files: ['../components/**/__snapshots__/**/*.md', './index.js'],
|
|
preprocessors: {
|
|
'../components/**/__snapshots__/**/*.md': ['snapshot'],
|
|
'./index.js': ['webpack', 'sourcemap'],
|
|
},
|
|
port: 9876,
|
|
colors: true,
|
|
// autoWatch: true,
|
|
webpack: merge(
|
|
{
|
|
plugins: [
|
|
new webpack.DefinePlugin({
|
|
'process.env': {
|
|
NODE_ENV: '"testing"',
|
|
SCOPE: `"${scope}"`,
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
webpackConfig
|
|
),
|
|
webpackMiddleware: {
|
|
noInfo: true,
|
|
},
|
|
snapshot: {
|
|
update: !!process.env.UPDATE,
|
|
prune: !!process.env.PRUNE,
|
|
pathResolver: resolve, // Custom path resolver,
|
|
},
|
|
coverageReporter: {
|
|
dir: './coverage',
|
|
reporters: [
|
|
{ type: 'lcov', subdir: '.' },
|
|
{ type: 'text-summary' },
|
|
],
|
|
includeAllSources: false,
|
|
},
|
|
})
|
|
}
|