4f3a9802c1
* add files for new client side and reorg gulp tasks * add deps and script for new client * fix webpack paths so that building works * fix static assets not copied into prod build * fix linting * add eslint deps and re-enable it in webpack * add most missing deps for client side and split .babelrc for client * reorganize .eslintignore * update client tests paths and .gitignore * uncomment code * client: move App component * client: update oaths in App component * fix client tests and add more deps * add client side tests to npm test * fix typo in depencency name * update more deps * fix karma.conf.js and upgrade phantomjs * fix dep and move karma.conf to subdirectory * update karma.conf.js position in Gruntfile * try downgrading phantomjs * Fixup client tests (#8032) * Use phantom 2 * fix(tests): Fix refresher test * gitignore translation mock * Update karma version * disable e2e tests for new client from build * write vue templates with pug * add basic routing * remove unnecessary Function.bind shim * remove unused dependency
76 lines
2.1 KiB
JavaScript
76 lines
2.1 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
|
|
|
|
var path = require('path');
|
|
var merge = require('webpack-merge');
|
|
var baseConfig = require('../../../webpack/webpack.base.conf');
|
|
var utils = require('../../../webpack/utils');
|
|
var webpack = require('webpack');
|
|
var projectRoot = path.resolve(__dirname, '../../../');
|
|
|
|
var webpackConfig = merge(baseConfig, {
|
|
// use inline sourcemap for karma-sourcemap-loader
|
|
module: {
|
|
loaders: utils.styleLoaders(),
|
|
},
|
|
devtool: '#inline-source-map',
|
|
vue: {
|
|
loaders: {
|
|
js: 'isparta',
|
|
},
|
|
},
|
|
plugins: [
|
|
new webpack.DefinePlugin({
|
|
'process.env': require('../../../webpack/config/test.env'),
|
|
}),
|
|
],
|
|
});
|
|
|
|
// no need for app entry during tests
|
|
delete webpackConfig.entry;
|
|
|
|
// make sure isparta loader is applied before eslint
|
|
webpackConfig.module.preLoaders = webpackConfig.module.preLoaders || [];
|
|
webpackConfig.module.preLoaders.unshift({
|
|
test: /\.js$/,
|
|
loader: 'isparta',
|
|
include: path.resolve(projectRoot, 'website/client'),
|
|
});
|
|
|
|
// only apply babel for test files when using isparta
|
|
webpackConfig.module.loaders.some(function (loader, i) {
|
|
if (loader.loader === 'babel') {
|
|
loader.include = path.resolve(projectRoot, 'test/client/unit');
|
|
return true;
|
|
}
|
|
});
|
|
|
|
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: ['PhantomJS'],
|
|
frameworks: ['mocha', 'sinon-chai'],
|
|
reporters: ['spec', 'coverage'],
|
|
files: ['./index.js'],
|
|
preprocessors: {
|
|
'./index.js': ['webpack', 'sourcemap'],
|
|
},
|
|
webpack: webpackConfig,
|
|
webpackMiddleware: {
|
|
noInfo: true,
|
|
},
|
|
coverageReporter: {
|
|
dir: './coverage',
|
|
reporters: [
|
|
{ type: 'lcov', subdir: '.' },
|
|
{ type: 'text-summary' },
|
|
],
|
|
},
|
|
});
|
|
};
|