diff --git a/app/components/LibraryNav.jsx b/app/components/LibraryNav.jsx
index 0660a7f..28b1e15 100644
--- a/app/components/LibraryNav.jsx
+++ b/app/components/LibraryNav.jsx
@@ -35,25 +35,13 @@ String.prototype.trunc = String.prototype.trunc || function(n){
};
const {
- AppBar,
- AppCanvas,
- FontIcon,
IconButton,
- EnhancedButton,
- NavigationClose,
- FloatingActionButton,
- Menu,
MenuItem,
- Mixins,
- RaisedButton,
- FlatButton,
- Popover,
Badge,
TextField,
- Dialog,
Styles,
- LeftNav,
- Paper} = mui
+ Paper
+} = mui
const DefaultRawTheme = Styles.LightRawTheme
diff --git a/app/components/__tests__/EntrySelector-test.jsx b/app/components/__tests__/EntrySelector-test.jsx
new file mode 100644
index 0000000..a9ba52f
--- /dev/null
+++ b/app/components/__tests__/EntrySelector-test.jsx
@@ -0,0 +1,17 @@
+jest.autoMockOff()
+
+import React from 'react'
+import ReactDOM from 'react-dom'
+import TestUtils from 'react-addons-test-utils'
+
+const EntrySelector = require('../EntrySelector').default
+
+describe('EntrySelector', () => {
+
+ it('test jest', () => {
+ var entrySelector = TestUtils.renderIntoDocument(
+
+ )
+ expect(entrySelector.state.entries.length).toEqual(0)
+ })
+})
diff --git a/jest/preprocessor.js b/jest/preprocessor.js
new file mode 100644
index 0000000..75c1b6b
--- /dev/null
+++ b/jest/preprocessor.js
@@ -0,0 +1,12 @@
+var babelJest = require('babel-jest');
+var webpackAlias = require('jest-webpack-alias');
+
+module.exports = {
+ process: function(src, filename) {
+ if (filename.indexOf('node_modules') === -1) {
+ src = babelJest.process(src, filename);
+ src = webpackAlias.process(src, filename);
+ }
+ return src;
+ }
+};
diff --git a/package.json b/package.json
index 391e85a..af67168 100644
--- a/package.json
+++ b/package.json
@@ -21,6 +21,7 @@
},
"client_certificate": "",
"scripts": {
+ "test": "jest",
"dev": "webpack-dev-server --progress --colors --port 8090",
"serve": "./node_modules/.bin/http-server -p 8080",
"start": "npm run serve | npm run dev",
@@ -149,6 +150,7 @@
"main_html": "index.html",
"devDependencies": {
"babel-core": "^6.5.1",
+ "babel-jest": "*",
"babel-loader": "^6.2.2",
"babel-preset-es2015": "^6.5.0",
"babel-preset-react": "^6.5.0",
@@ -157,10 +159,34 @@
"babel-preset-stage-2": "^6.5.0",
"babel-preset-stage-3": "^6.5.0",
"http-server": "^0.8.4",
+ "jest-cli": "*",
+ "jest-webpack-alias": "^2.2.0",
+ "react-addons-test-utils": "^0.14.7",
"redux-devtools": "^3.1.1",
"webpack": "*",
"webpack-dev-server": "^1.11.0"
},
"keywords": [],
- "node_main": ""
+ "node_main": "",
+ "jest": {
+ "scriptPreprocessor": "/jest/preprocessor.js",
+ "unmockedModulePathPatterns": [
+ "/node_modules/react",
+ "/node_modules/material-ui",
+ "/node_modules/react-dom",
+ "/node_modules/react-addons-test-utils",
+ "/node_modules/fbjs"
+ ],
+ "testFileExtensions": [
+ "jsx",
+ "js",
+ "es6"
+ ],
+ "moduleFileExtensions": [
+ "js",
+ "jsx",
+ "json",
+ "es6"
+ ]
+ }
}