diff options
Diffstat (limited to 'spec/javascript/vehicle_journeys')
| -rw-r--r-- | spec/javascript/vehicle_journeys/actions_spec.js | 81 | ||||
| -rw-r--r-- | spec/javascript/vehicle_journeys/reducers/vehicleJourneys_spec.js (renamed from spec/javascript/vehicle_journeys/reducers/vehicle_journeys_spec.js) | 0 | 
2 files changed, 81 insertions, 0 deletions
diff --git a/spec/javascript/vehicle_journeys/actions_spec.js b/spec/javascript/vehicle_journeys/actions_spec.js index 74765a7ef..789507482 100644 --- a/spec/javascript/vehicle_journeys/actions_spec.js +++ b/spec/javascript/vehicle_journeys/actions_spec.js @@ -447,3 +447,84 @@ describe('when using select2 to unselect a company', () => {      expect(actions.unselect2Company()).toEqual(expectedAction)    })  }) + +describe('actions.adjustSchedule', () => { +  set('time', () => { +    return { +      hour: 9, +      minute: 30 +    } +  }) +  context('when editing the departure time', () => { +    set('action', () => { return { isDeparture: true } }) +    context('with a positive delta', () => { +      set('schedule', () => { +        return { +          departure_time: time, +          arrival_time: time +        } +      }) +      it('should do nothing', () => { +        expect(actions.adjustSchedule(action, schedule)).toEqual(schedule) +      }) +    }), +    context('with a delta < 0', () => { +      set('departure_time', () => { +        return { +          hour: time.hour, +          minute: time.minute - 1 +        } +      }) +      set('schedule', () => { +        return { +          departure_time: departure_time, +          arrival_time: time +        } +      }) +      it('should adjust arrival time', () => { +        let expected = { +          departure_time: departure_time, +          arrival_time: departure_time, +          delta: 0 +        } +        expect(actions.adjustSchedule(action, schedule)).toEqual(expected) +      }) +    }) +  }), +  context('when editing the arrival time', () => { +    set('action', () => { return { isDeparture: false } }) +    context('with a positive delta', () => { +      set('schedule', () => { +        return { +          departure_time: time, +          arrival_time: time +        } +      }) +      it('should do nothing', () => { +        expect(actions.adjustSchedule(action, schedule)).toEqual(schedule) +      }) +    }), +    context('with a delta < 0', () => { +      set('arrival_time', () => { +        return { +          hour: time.hour, +          minute: time.minute + 1 +        } +      }) +      set('schedule', () => { +        return { +          departure_time: time, +          arrival_time: arrival_time +        } +      }) +      it('should adjust departure time', () => { +        let expected = { +          departure_time: arrival_time, +          arrival_time: arrival_time, +          delta: 0 +        } +        expect(actions.adjustSchedule(action, schedule)).toEqual(expected) +      }) +    }) +  }) +}) diff --git a/spec/javascript/vehicle_journeys/reducers/vehicle_journeys_spec.js b/spec/javascript/vehicle_journeys/reducers/vehicleJourneys_spec.js index 1c2cc1577..1c2cc1577 100644 --- a/spec/javascript/vehicle_journeys/reducers/vehicle_journeys_spec.js +++ b/spec/javascript/vehicle_journeys/reducers/vehicleJourneys_spec.js  | 
