diff options
| -rw-r--r-- | app/assets/javascripts/es6_browserified/itineraries/components/StopPoint.js | 2 | ||||
| -rw-r--r-- | config/browserify.yml | 3 | ||||
| -rw-r--r-- | package.json | 9 | ||||
| -rw-r--r-- | spec/javascripts/itineraries/components_spec.js | 53 |
4 files changed, 63 insertions, 4 deletions
diff --git a/app/assets/javascripts/es6_browserified/itineraries/components/StopPoint.js b/app/assets/javascripts/es6_browserified/itineraries/components/StopPoint.js index d92eeff5d..363a1cd4b 100644 --- a/app/assets/javascripts/es6_browserified/itineraries/components/StopPoint.js +++ b/app/assets/javascripts/es6_browserified/itineraries/components/StopPoint.js @@ -62,7 +62,7 @@ const StopPoint = (props) => { <span className='fa fa-arrow-down'></span> </div> <div - className='btn btn-danger' + className='btn btn-danger delete' onClick={props.onDeleteClick} > <span className='fa fa-trash'></span> diff --git a/config/browserify.yml b/config/browserify.yml new file mode 100644 index 000000000..f6fc5f766 --- /dev/null +++ b/config/browserify.yml @@ -0,0 +1,3 @@ +javascript: + external: + "react/addons": true diff --git a/package.json b/package.json index d2e9a56b7..86f9a3081 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "something", + "name": "stif-boiv", "dependencies": { "babel-polyfill": "6.16.0", "babel-preset-es2015": "6.18.0", @@ -15,9 +15,12 @@ }, "license": "MIT", "engines": { - "node": ">= 0.10" + "node": "5.12.0" }, "devDependencies": { - "es6-object-assign": "^1.0.3" + "enzyme": "2.7.1", + "es6-object-assign": "1.0.3", + "react-addons-test-utils": "15.3.2", + "sinon": "1.17.7" } } diff --git a/spec/javascripts/itineraries/components_spec.js b/spec/javascripts/itineraries/components_spec.js new file mode 100644 index 000000000..24ead7b5d --- /dev/null +++ b/spec/javascripts/itineraries/components_spec.js @@ -0,0 +1,53 @@ +var React = require('react'); +var shallow = require('enzyme').shallow; +var mount = require('enzyme').mount; +var StopPointList = require('es6_browserified/itineraries/components/StopPointList'); +var StopPoint = require('es6_browserified/itineraries/components/StopPoint'); +var sinon = require('sinon') + +describe('(Component) StopPointList', () => { + it('renders without exploding', () => { + const wrapper = shallow(<StopPointList + stopPoints = {[]} + onChange = {() => {}} + onMoveDownClick={() => {}} + onMoveUpClick={() => {}} + onDeleteClick={() => {}} + onSelectChange={() => {}} + onSelectMarker={() => {}} + onUnselectMarker={() => {}} + />); + expect(wrapper.length).toEqual(1); + }); + + it('simulates click events', () => { + const state = { + text: 'first', + index: 0, + for_boarding: 'normal', + for_alighting: 'normal', + user_objectid: '', + olMap: { + isOpened: false, + json: {} + } + } + const onButtonClick = sinon.spy(); + const wrapper = mount(<StopPoint + value = {state} + onChange = {() => {}} + onMoveDownClick={() => {}} + onMoveUpClick={() => {}} + onDeleteClick={onButtonClick} + onSelectChange={() => {}} + onSelectMarker={() => {}} + onToggleMap={() => {}} + onUnselectMarker={() => {}} + first= {true} + last= {true} + index= {0} + />); + wrapper.find('.delete').simulate('click'); + expect(onButtonClick.calledOnce).toEqual(true); + }); +}); |
