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); +  }); +}); | 
