aboutsummaryrefslogtreecommitdiffstats
path: root/spec/javascript
diff options
context:
space:
mode:
authorZog2017-12-26 09:57:34 +0100
committerZog2017-12-27 09:14:06 +0100
commit344c7f884f4c25ece7490c94dfcb82e66bff0b2d (patch)
tree946a045c057ccaac32682ac1e2f4a5084265f877 /spec/javascript
parent54e6052b18a5451ed962dfaade88f8de28972e76 (diff)
downloadchouette-core-344c7f884f4c25ece7490c94dfcb82e66bff0b2d.tar.bz2
Refs #5376 @1h; Change the behaviour of the inputs on VehicleJourney#index
We don't block user actions anymore. Instead, when the departure time is set prior to the arrival time, we shift the arrival time accordingly (and reversed when the user sets the arrival time)
Diffstat (limited to 'spec/javascript')
-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