aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Haddad2017-03-08 18:06:30 +0100
committerThomas Haddad2017-03-08 18:06:30 +0100
commit113ab0e2ed4bb7564ee25427d1ad2721f41aa639 (patch)
tree7fd95d9b45147457e99d7751fa6c0ae997adcbbd
parentc7a7b314759b32497b32063c4cecb498e26f2e35 (diff)
downloadchouette-core-113ab0e2ed4bb7564ee25427d1ad2721f41aa639.tar.bz2
Refs #2751: Add UPDATE_TOTAL_COUNT for vj
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js10
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/pagination.js2
-rw-r--r--spec/javascripts/vehicle_journeys/actions_spec.js10
-rw-r--r--spec/javascripts/vehicle_journeys/reducers/pagination_spec.js9
4 files changed, 28 insertions, 3 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 64c71bde4..25fa3b221 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
@@ -222,6 +222,10 @@ const actions = {
actions.queryFilterVehicleJourneys(dispatch)
])
),
+ updateTotalCount: (diff) => ({
+ type: 'UPDATE_TOTAL_COUNT',
+ diff
+ }),
fetchVehicleJourneys : (dispatch, currentPage, nextPage, queryString) => {
if(currentPage == undefined){
currentPage = 1
@@ -294,9 +298,6 @@ const actions = {
company_id: val.published_journey_name || 'non renseigné'
})
}
- // if(vehicleJourneys.length != window.vehicleJourneysPerPage){
- // dispatch(actions.updateTotalCount(vehicleJourneys.length - window.vehicleJourneysPerPage))
- // }
dispatch(actions.receiveVehicleJourneys(vehicleJourneys))
}
})
@@ -328,6 +329,9 @@ const actions = {
if(next) {
dispatch(next)
} else {
+ if(json.length != window.vehicleJourneysPerPage){
+ dispatch(actions.updateTotalCount(window.vehicleJourneysPerPage - json.length))
+ }
dispatch(actions.receiveVehicleJourneys(json))
}
}
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/pagination.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/pagination.js
index e603753e2..203e37e5a 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/pagination.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/pagination.js
@@ -18,6 +18,8 @@ const pagination = (state = {}, action) => {
return Object.assign({}, state, {stateChanged: true})
case 'RESET_PAGINATION':
return Object.assign({}, state, {page: 1, stateChanged: false})
+ case 'UPDATE_TOTAL_COUNT':
+ return Object.assign({}, state, {totalCount : state.totalCount - action.diff })
default:
return state
}
diff --git a/spec/javascripts/vehicle_journeys/actions_spec.js b/spec/javascripts/vehicle_journeys/actions_spec.js
index 8817bc34c..ec52036d6 100644
--- a/spec/javascripts/vehicle_journeys/actions_spec.js
+++ b/spec/javascripts/vehicle_journeys/actions_spec.js
@@ -382,3 +382,13 @@ describe('when user clicked either on filter or reset button in filters', () =>
expect(actions.createQueryString()).toEqual(expectedAction)
})
})
+describe('when submitting new vj', () => {
+ it('should create an action to update pagination totalCount', () => {
+ const diff = 1
+ const expectedAction = {
+ type: 'UPDATE_TOTAL_COUNT',
+ diff
+ }
+ expect(actions.updateTotalCount(diff)).toEqual(expectedAction)
+ })
+})
diff --git a/spec/javascripts/vehicle_journeys/reducers/pagination_spec.js b/spec/javascripts/vehicle_journeys/reducers/pagination_spec.js
index 55e48dfd6..ff74e1a0d 100644
--- a/spec/javascripts/vehicle_journeys/reducers/pagination_spec.js
+++ b/spec/javascripts/vehicle_journeys/reducers/pagination_spec.js
@@ -26,6 +26,15 @@ describe('pagination reducer, given parameters allowing page change', () => {
).toEqual(Object.assign({}, state, {page: 1}))
})
+ it('should handle UPDATE_TOTAL_COUNT', () => {
+ expect(
+ reducer(state, {
+ type: 'UPDATE_TOTAL_COUNT',
+ diff: 1
+ })
+ ).toEqual(Object.assign({}, state, {totalCount: 24}))
+ })
+
it('should handle GO_TO_NEXT_PAGE and change state', () => {
expect(
reducer(state, {