summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnike Arni <aarni@thoughtworks.com>2017-02-03 14:12:46 -0200
committerAnike Arni <aarni@thoughtworks.com>2017-02-03 14:14:29 -0200
commit2a0c02295ac6b3a21047e08a0174361003f02736 (patch)
tree2b76bc62af2e3930e624957ee9b05383db934810
parent16ce2be7e2a7496cedfe74bf27c72878941072cf (diff)
[#922] Move new js tests to mocha
We decided to move to mocha because it has more support for node testing with webpack (no need for browser). Since we're moving to React, we don't need the browser for our unit tests. With @tayanefernandes
-rw-r--r--web-ui/package.json9
-rw-r--r--web-ui/test/spec/account_recovery/account_recovery.spec.js3
-rw-r--r--web-ui/webpack.test.config.js34
3 files changed, 42 insertions, 4 deletions
diff --git a/web-ui/package.json b/web-ui/package.json
index ec880270..6f875280 100644
--- a/web-ui/package.json
+++ b/web-ui/package.json
@@ -16,6 +16,7 @@
"css-loader": "^0.26.1",
"dompurify": "^0.8.4",
"enzyme": "^2.7.1",
+ "expect": "^1.20.2",
"font-awesome": "^4.7.0",
"handlebars": "^4.0.5",
"he": "^1.1.0",
@@ -25,13 +26,13 @@
"i18next-xhr-backend": "^1.2.1",
"iframe-resizer": "^3.5.7",
"imagemin": "5.2.1",
- "jasmine": "^2.5.3",
"jasmine-flight": "^4.0.0",
"jasmine-jquery": "^2.1.1",
"jquery": "^3.1.1",
"jquery-file-upload": "^4.0.5",
"jquery-ui": "^1.12.1",
"jshint": "2.9.2",
+ "json-loader": "^0.5.4",
"karma": "0.13.19",
"karma-chrome-launcher": "0.2.2",
"karma-coverage": "0.2.7",
@@ -42,6 +43,8 @@
"karma-phantomjs-launcher": "1.0.1",
"karma-requirejs": "1.0.0",
"minify": "^2.0.13",
+ "mocha": "^3.2.0",
+ "mocha-webpack": "^0.7.0",
"modernizr": "^3.3.1",
"node-sass": "^4.5.0",
"quoted-printable": "^1.0.1",
@@ -57,8 +60,8 @@
"webpack": "^1.14.0"
},
"scripts": {
- "test": "npm run jshint --silent && npm run build-statics --silent && npm run jasmine-test && npm run karma-test",
- "jasmine-test": "babel-node ./node_modules/.bin/jasmine JASMINE_CONFIG_PATH=test/jasmine.json",
+ "test": "npm run jshint --silent && npm run build-statics --silent && npm run mocha-test && npm run karma-test",
+ "mocha-test": "mocha-webpack --webpack-config webpack.test.config.js \"test/spec/account_recovery/**/*.spec.js\"",
"karma-test": "karma start --single-run $GRUNT_OPTS",
"debug": "npm run build && karma start --browsers Chrome $GRUNT_OPTS",
"watch": "npm run compass-watch & npm run handlebars-watch & npm run build-js-watch",
diff --git a/web-ui/test/spec/account_recovery/account_recovery.spec.js b/web-ui/test/spec/account_recovery/account_recovery.spec.js
index d153f0eb..eaff257b 100644
--- a/web-ui/test/spec/account_recovery/account_recovery.spec.js
+++ b/web-ui/test/spec/account_recovery/account_recovery.spec.js
@@ -1,4 +1,5 @@
import {shallow} from 'enzyme'
+import expect from 'expect'
import React from 'react'
import Page from '../../../app/js/account_recovery/page'
@@ -6,6 +7,6 @@ describe('test', () => {
'use strict';
it('react', () => {
const page = shallow(<Page />);
- expect(page.find('h1').text()).toEqual('Hello world');
+ expect(page.find('h1').text()).toEqual('E se vocĂȘ esquecer sua senha?');
});
});
diff --git a/web-ui/webpack.test.config.js b/web-ui/webpack.test.config.js
new file mode 100644
index 00000000..d3b245fc
--- /dev/null
+++ b/web-ui/webpack.test.config.js
@@ -0,0 +1,34 @@
+var path = require('path');
+var webpack = require('webpack');
+var copyWebpack = require('./config/copy-webpack');
+var aliases = require('./config/alias-webpack');
+
+module.exports = {
+ resolve: {
+ alias: aliases,
+ extensions: ['', '.js']
+ },
+ externals: {
+ 'react/lib/ExecutionEnvironment': true,
+ 'react/addons': true,
+ 'react/lib/ReactContext': 'window'
+ },
+ module: {
+ loaders: [
+ {
+ test: /\.js$/,
+ exclude: /(node_modules|bower_components)/,
+ loader: 'babel',
+ query: { presets: ['es2015', 'react']}
+ },
+ {
+ test: /\.scss|css$/,
+ loader: "css-loader!sass-loader"
+ },
+ {
+ test: /\.json$/,
+ loader: "json-loader"
+ }
+ ]
+ }
+}