set up Mocha/Chai/Enzyme for React component unit testing

This commit is contained in:
Kai Schaper 2016-10-10 04:01:10 +02:00
parent 77efdfa110
commit d7c55853e9
3 changed files with 24 additions and 4 deletions

1
.nvmrc Normal file
View file

@ -0,0 +1 @@
6.7.0

View file

@ -1,6 +1,10 @@
{ {
"name": "mastodon", "name": "mastodon",
"scripts": {
"test": "mocha --compilers js:babel-register ./spec/javascript/components/*.test.jsx"
},
"devDependencies": { "devDependencies": {
"axios": "^0.14.0",
"babel-plugin-react-transform": "^2.0.2", "babel-plugin-react-transform": "^2.0.2",
"babel-plugin-transform-object-rest-spread": "^6.8.0", "babel-plugin-transform-object-rest-spread": "^6.8.0",
"babel-preset-es2015": "^6.13.2", "babel-preset-es2015": "^6.13.2",
@ -8,17 +12,19 @@
"babelify": "^7.3.0", "babelify": "^7.3.0",
"browserify": "^13.1.0", "browserify": "^13.1.0",
"browserify-incremental": "^3.1.1", "browserify-incremental": "^3.1.1",
"react": "^15.3.0", "chai": "^3.5.0",
"react-dom": "^15.3.0", "enzyme": "^2.4.1",
"react-proxy": "^1.1.8",
"axios": "^0.14.0",
"es6-promise": "^3.2.1", "es6-promise": "^3.2.1",
"immutable": "^3.8.1", "immutable": "^3.8.1",
"mocha": "^3.1.1",
"moment": "^2.14.1", "moment": "^2.14.1",
"react-addons-perf": "^15.3.2", "react-addons-perf": "^15.3.2",
"react-addons-pure-render-mixin": "^15.3.1", "react-addons-pure-render-mixin": "^15.3.1",
"react-addons-test-utils": "^15.3.2",
"react-dom": "^15.3.0",
"react-immutable-proptypes": "^2.1.0", "react-immutable-proptypes": "^2.1.0",
"react-notification": "^6.1.1", "react-notification": "^6.1.1",
"react-proxy": "^1.1.8",
"react-redux": "^5.0.0-beta.3", "react-redux": "^5.0.0-beta.3",
"react-redux-loading-bar": "^2.3.3", "react-redux-loading-bar": "^2.3.3",
"react-router": "^2.8.0", "react-router": "^2.8.0",

View file

@ -0,0 +1,13 @@
import { expect } from 'chai';
import { shallow } from 'enzyme';
import React from 'react';
global.React = React;
import LoadingIndicator from '../../../app/assets/javascripts/components/components/loading_indicator'
describe('<LoadingIndicator />', function() {
it('renders text that indicates loading', function() {
const wrapper = shallow(<LoadingIndicator />);
expect(wrapper.text()).to.match(/loading/i);
});
});