aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Haddad2017-06-21 17:23:42 +0200
committerThomas Haddad2017-06-21 17:23:42 +0200
commitdc80c8b8a8bc3123973c471346c69445238d998e (patch)
tree8197a58a915213543d4cfd2c2a020180a89a17ac
parentbad80527a2083027835f072411a4eab8ac4df745 (diff)
downloadchouette-core-dc80c8b8a8bc3123973c471346c69445238d998e.tar.bz2
Refs #3338: Fix duplicate vj not multiplying departureDelta
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js5
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js4
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/DuplicateVehicleJourney.js4
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js3
-rw-r--r--spec/javascripts/vehicle_journeys/actions_spec.js6
-rw-r--r--spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js8
6 files changed, 18 insertions, 12 deletions
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
index 0af1bb53d..1997cc712 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
@@ -134,9 +134,10 @@ const actions = {
type: 'SHIFT_VEHICLEJOURNEY',
data
}),
- duplicateVehicleJourney : (data) => ({
+ duplicateVehicleJourney : (data, departureDelta) => ({
type: 'DUPLICATE_VEHICLEJOURNEY',
- data
+ data,
+ departureDelta
}),
deleteVehicleJourneys : () => ({
type: 'DELETE_VEHICLEJOURNEYS'
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js
index 0cf102693..c136fda33 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js
@@ -18,8 +18,8 @@ class DuplicateVehicleJourney extends Component {
}
}
let val = actions.getDuplicateDelta(_.find(actions.getSelected(this.props.vehicleJourneys)[0].vehicle_journey_at_stops, {'dummy': false}), newDeparture)
- this.refs.additional_time.value = parseInt(this.refs.additional_time.value) + val
- this.props.onDuplicateVehicleJourney(this.refs)
+ this.refs.additional_time.value = parseInt(this.refs.additional_time.value)
+ this.props.onDuplicateVehicleJourney(this.refs, val)
this.props.onModalClose()
$('#DuplicateVehicleJourneyModal').modal('hide')
}
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/DuplicateVehicleJourney.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/DuplicateVehicleJourney.js
index 6cf6f4039..224b52a19 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/DuplicateVehicleJourney.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/DuplicateVehicleJourney.js
@@ -19,8 +19,8 @@ const mapDispatchToProps = (dispatch) => {
onOpenDuplicateModal: () =>{
dispatch(actions.openDuplicateModal())
},
- onDuplicateVehicleJourney: (data) =>{
- dispatch(actions.duplicateVehicleJourney(data))
+ onDuplicateVehicleJourney: (data, departureDelta) =>{
+ dispatch(actions.duplicateVehicleJourney(data, departureDelta))
}
}
}
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js
index c7e8d58e7..d463d4b8f 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js
@@ -182,11 +182,12 @@ const vehicleJourneys = (state = [], action) => {
let dupes = []
let selectedIndex
let val = action.data.additional_time.value
+ let departureDelta = action.departureDelta
state.map((vj, i) => {
if(vj.selected){
selectedIndex = i
for (i = 0; i< action.data.duplicate_number.value; i++){
- action.data.additional_time.value = val * (i + 1)
+ action.data.additional_time.value = (parseInt(val) * (i + 1)) + departureDelta
dupeVj = vehicleJourney(vj, action, false)
dupeVj.published_journey_name = dupeVj.published_journey_name + '-' + i
dupeVj.selected = false
diff --git a/spec/javascripts/vehicle_journeys/actions_spec.js b/spec/javascripts/vehicle_journeys/actions_spec.js
index 19f65046f..d96baf8ef 100644
--- a/spec/javascripts/vehicle_journeys/actions_spec.js
+++ b/spec/javascripts/vehicle_journeys/actions_spec.js
@@ -188,11 +188,13 @@ describe('when clicking on validate button inside editing modal', () => {
describe('when clicking on validate button inside duplicating modal', () => {
it('should create an action to duplicate a vehiclejourney schedule', () => {
const data = {}
+ const departureDelta = 0
const expectedAction = {
type: 'DUPLICATE_VEHICLEJOURNEY',
- data
+ data,
+ departureDelta
}
- expect(actions.duplicateVehicleJourney(data)).toEqual(expectedAction)
+ expect(actions.duplicateVehicleJourney(data, departureDelta)).toEqual(expectedAction)
})
})
describe('when clicking on edit notes modal', () => {
diff --git a/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js b/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js
index 23ebc3d9f..620e2ffdd 100644
--- a/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js
+++ b/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js
@@ -216,14 +216,15 @@ describe('vehicleJourneys reducer', () => {
delta: 627,
arrival_time : {
hour: '12',
- minute: '00'
+ minute: '01'
},
departure_time : {
hour: '22',
- minute: '27'
+ minute: '28'
},
stop_area_object_id : "FR:92024:ZDE:420553:STIF"
}]
+ let departureDelta = 1
let fakeData = {
duplicate_number: {value : 1},
additional_time: {value: '5'}
@@ -234,7 +235,8 @@ describe('vehicleJourneys reducer', () => {
expect(
vjReducer(state, {
type: 'DUPLICATE_VEHICLEJOURNEY',
- data: fakeData
+ data: fakeData,
+ departureDelta
})
).toEqual([state[0], newVJ, state[1]])
})