diff options
| author | Thomas Haddad | 2017-03-03 18:08:20 +0100 | 
|---|---|---|
| committer | Thomas Haddad | 2017-03-03 18:08:20 +0100 | 
| commit | 284d590435ab85b86d3722eb50ce4e1c3b3abf2c (patch) | |
| tree | bdbc3d536f986f7bf96d337391e63f2e75c03240 /spec | |
| parent | 89e744d0f430889acc88a5e0e15c588baa962f6a (diff) | |
| download | chouette-core-284d590435ab85b86d3722eb50ce4e1c3b3abf2c.tar.bz2 | |
Refs #2521: Add timetable to one or more vj
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/javascripts/vehicle_journeys/actions_spec.js | 26 | ||||
| -rw-r--r-- | spec/javascripts/vehicle_journeys/reducers/modal_spec.js | 37 | 
2 files changed, 60 insertions, 3 deletions
diff --git a/spec/javascripts/vehicle_journeys/actions_spec.js b/spec/javascripts/vehicle_journeys/actions_spec.js index 3824893e4..56a2e8511 100644 --- a/spec/javascripts/vehicle_journeys/actions_spec.js +++ b/spec/javascripts/vehicle_journeys/actions_spec.js @@ -244,3 +244,29 @@ describe('when clicking on validate button inside calendars modal', () => {      expect(actions.editVehicleJourneyCalendars(vehicleJourneys)).toEqual(expectedAction)    })  }) +describe('when clicking on add button inside calendars modal', () => { +  it('should create an action to add the selected timetable to preselected vjs', () => { +    const expectedAction = { +      type: 'ADD_SELECTED_TIMETABLE', +    } +    expect(actions.addSelectedTimetable()).toEqual(expectedAction) +  }) +}) +describe('when using select2 to pick a timetable', () => { +  it('should create an action to select a timetable inside modal', () => { +    let selectedTT = { +      id: 1, +      objectid: 2, +      comment: 'test', +    } +    const expectedAction = { +      type: 'SELECT_TT_CALENDAR_MODAL', +      selectedItem:{ +        id: selectedTT.id, +        objectid: selectedTT.objectid, +        comment: selectedTT.comment, +      } +    } +    expect(actions.selectTTCalendarsModal(selectedTT)).toEqual(expectedAction) +  }) +}) diff --git a/spec/javascripts/vehicle_journeys/reducers/modal_spec.js b/spec/javascripts/vehicle_journeys/reducers/modal_spec.js index edf55ca65..7c81d729b 100644 --- a/spec/javascripts/vehicle_journeys/reducers/modal_spec.js +++ b/spec/javascripts/vehicle_journeys/reducers/modal_spec.js @@ -105,14 +105,45 @@ describe('modal reducer', () => {      ).toEqual(Object.assign({}, state, {type: 'calendars_edit', modalProps: modalPropsResult}))    }) +  it('should handle SELECT_TT_CALENDAR_MODAL', () => { +    let newModalProps = {selectedTimetable : {id: 1}} +    expect( +      modalReducer(state, { +        type: 'SELECT_TT_CALENDAR_MODAL', +        selectedItem: {id: 1} +      }) +    ).toEqual(Object.assign({}, state, {modalProps: newModalProps})) +  }) + +  it('should handle ADD_SELECTED_TIMETABLE', () => { +    let fakeTimetables = [{'test': 'test'}, {'test 2': 'test 2'}, {'add': 'add'}] +    let newTimeTables = [{'test': 'test'}, {'test 2': 'test 2'}, {'add': 'add'}] +    let fakeVehicleJourneys= [{time_tables: fakeTimetables}, {time_tables: newTimeTables}] +    state.modalProps.vehicleJourneys = fakeVehicleJourneys +    state.modalProps.timetables = fakeTimetables +    state.modalProps.selectedTimetable = {'add': 'add'} +    let newState = { +      type: '', +      modalProps:{ +        vehicleJourneys: [{time_tables: newTimeTables},{time_tables: newTimeTables}], +        timetables: [{'test': 'test'},{'test 2': 'test 2'},{'add': 'add'}], +        selectedTimetable: {'add': 'add'} +      }, +      confirmModal: {} +    } +    expect( +      modalReducer(state, { +        type: 'ADD_SELECTED_TIMETABLE', +      }) +    ).toEqual(newState) +  }) +    it('should handle DELETE_CALENDAR_MODAL', () => { -    // TODO spec more for vehiclejourneys      let deletableTimetable = {'delete': 'delete'}      let fakeTimetables = [{'test': 'test'}, {'test 2': 'test 2'}, deletableTimetable]      let newTimeTables = [{'test': 'test'}, {'test 2': 'test 2'}]      let fakeVehicleJourneys= [{time_tables: fakeTimetables}, {time_tables: fakeTimetables}] -    state.modalProps = {vehicleJourneys : fakeVehicleJourneys, timetables: fakeTimetables } -    let footnote = {} +    state.modalProps = Object.assign({}, state.modalProps,{vehicleJourneys : fakeVehicleJourneys, timetables: fakeTimetables })      let newState = {        // for the sake of the test, no need to specify the type        type: '',  | 
