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/javascripts | |
| 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/javascripts')
| -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: '', |
