Skip to content
8 changes: 8 additions & 0 deletions app/assets/javascripts/components/DemoComponent.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
var DemoComponent = React.createClass({displayName: 'Demo Component',
render: function() {
return <div>Demo Component</div>;
}
});

// each file will export exactly one component
module.exports = DemoComponent;
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
jest.dontMock('../DemoComponent');

describe('DemoComponent', function() {
it('should tell use it is a demo component', function() {
});
});
7 changes: 7 additions & 0 deletions app/assets/javascripts/components/__tests__/preprocessor.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
var ReactTools = require('react-tools');

module.exports = {
process: function(src) {
return ReactTools.transform(src);
}
};
17 changes: 17 additions & 0 deletions client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,5 +64,22 @@
"gulp": "gulp",
"jscs": "jscs --verbose",
"eslint": "eslint"
},
"devDependencies": {
"jest-cli": "^0.4.15",
"react-tools": "^0.13.3"
},
"scripts": {
"test": "node ./node_modules/jest-cli/bin/jest.js"
},
"jest": {
"rootDir": "./app/assets/javascripts/components",
"scriptPreprocessor": "<rootDir>/__tests__/preprocessor.js",
"moduleFileExtensions": [ "js", "jsx"],
"unmockedModulePathPatterns": [
"react"
],
"testFileExtensions": ["js", "jsx"],
"testPathIgnorePatterns": [ "preprocessor.js" ]
}
}