Skip to content

Commit 81cab61

Browse files
author
jfusco
committed
Add initial files for unit testing
Add initial karma.confg file with settings and proper loaders. Add karma and other dependencies to package.json Update some outdated libraries in package.json
1 parent 258b311 commit 81cab61

2 files changed

Lines changed: 70 additions & 9 deletions

File tree

karma.conf.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
'use strict';
2+
3+
var webpack = require('karma-webpack');
4+
var path = require('path');
5+
6+
module.exports = function (config) {
7+
config.set({
8+
frameworks: ['jasmine'],
9+
files: ['__tests__/*-test.js'],
10+
plugins: [webpack, 'karma-jasmine', 'karma-phantomjs-launcher', 'karma-spec-reporter', 'karma-coverage'],
11+
browsers: ['PhantomJS'],
12+
preprocessors: {
13+
'__tests__/*-test.js': ['webpack']
14+
},
15+
coverageReporter: {
16+
dir: './coverage',
17+
reporters: [
18+
{ type: 'lcov', subdir: 'reports' }
19+
]
20+
},
21+
colors: true,
22+
reporters: ['spec', 'coverage'],
23+
webpack: {
24+
module: {
25+
rules: [
26+
{
27+
test: /\.js?$/,
28+
loader: 'babel-loader',
29+
exclude: /(node_modules)/
30+
},
31+
{
32+
enforce: 'pre',
33+
test: /\.js/,
34+
loader: 'isparta-loader',
35+
exclude: /(__tests__|node_modules)/
36+
}
37+
],
38+
noParse: [
39+
/node_modules\/sinon\//
40+
]
41+
},
42+
resolve: {
43+
alias: {
44+
'sinon': 'sinon/pkg/sinon.js'
45+
}
46+
}
47+
},
48+
webpackMiddleware: { noInfo: true }
49+
});
50+
};

package.json

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
}
1919
],
2020
"scripts": {
21+
"test": "karma start --single-run --no-auto-watch",
2122
"dev": "cross-env NODE_ENV=development gulp",
22-
"build": "cross-env NODE_ENV=production gulp dist",
23-
"test": "echo \"Error: no test specified\" && exit 1",
23+
"build": "npm run test && cross-env NODE_ENV=production gulp dist",
2424
"version": "git add .",
2525
"postversion": "git push && git push --tags"
2626
},
@@ -33,14 +33,14 @@
3333
"babel-preset-stage-0": "^6.22.0",
3434
"beepbeep": "^1.2.1",
3535
"browser-sync": "^2.18.8",
36-
"cross-env": "^3.2.3",
36+
"cross-env": "^4.0.0",
3737
"del": "^2.2.2",
38-
"eslint": "^3.18.0",
38+
"eslint": "^3.19.0",
3939
"eslint-config-standard": "^7.1.0",
40-
"eslint-loader": "^1.7.0",
40+
"eslint-loader": "^1.7.1",
4141
"eslint-plugin-promise": "^3.5.0",
4242
"eslint-plugin-standard": "^2.1.1",
43-
"file-loader": "^0.10.1",
43+
"file-loader": "^0.11.1",
4444
"gulp": "^3.9.1",
4545
"gulp-combine-mq": "^0.4.0",
4646
"gulp-cssnano": "^2.1.2",
@@ -51,22 +51,33 @@
5151
"gulp-plumber": "^1.1.0",
5252
"gulp-sass": "^3.1.0",
5353
"gulp-sass-glob": "^1.0.8",
54-
"gulp-sourcemaps": "^2.4.1",
54+
"gulp-sourcemaps": "^2.5.0",
5555
"gulp-util": "^3.0.8",
5656
"gulp-watch": "^4.3.11",
5757
"gulp.spritesmith": "^6.3.0",
58+
"isparta-loader": "^2.0.0",
59+
"istanbul": "^0.4.5",
60+
"istanbul-instrumenter-loader": "^2.0.0",
61+
"jasmine-core": "^2.5.2",
62+
"karma": "^1.5.0",
63+
"karma-coverage": "^1.1.1",
64+
"karma-jasmine": "^1.1.0",
65+
"karma-phantomjs-launcher": "^1.0.4",
66+
"karma-spec-reporter": "0.0.30",
67+
"karma-webpack": "^2.0.3",
5868
"progress-bar-webpack-plugin": "^1.9.3",
5969
"run-sequence": "^1.2.2",
70+
"sinon": "^2.0.0",
6071
"url-loader": "^0.5.8",
6172
"webpack": "^2.2.1",
6273
"webpack-dev-middleware": "^1.10.1",
63-
"webpack-hot-middleware": "^2.17.1",
74+
"webpack-hot-middleware": "^2.18.0",
6475
"webpack-stream": "^3.2.0"
6576
},
6677
"dependencies": {
6778
"font-awesome": "^4.7.0",
6879
"jquery": "^3.1.1",
69-
"normalize.css": "^5.0.0",
80+
"normalize.css": "^6.0.0",
7081
"slick-carousel": "^1.6.0"
7182
}
7283
}

0 commit comments

Comments
 (0)