aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/javascript/vehicle_journeys/actions_spec.js81
-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