lgtm
This commit is contained in:
parent
11711c57e6
commit
81a16f543c
21 changed files with 29072 additions and 1913 deletions
|
|
@ -9,6 +9,7 @@ import { createElectionVoteShareFilterKey } from './election-filter';
|
|||
import { createEthnicityFilterKey } from './ethnicity-filter';
|
||||
import {
|
||||
POI_COUNT_2KM_FILTER_NAME,
|
||||
TRANSPORT_DISTANCE_FILTER_NAME,
|
||||
createPoiDistanceFilterKey,
|
||||
createPoiFilterKey,
|
||||
} from './poi-distance-filter';
|
||||
|
|
@ -225,13 +226,13 @@ describe('url-state', () => {
|
|||
|
||||
it('round-trips repeated amenity distance filters with dedicated URL params', () => {
|
||||
const park = createPoiDistanceFilterKey('Distance to nearest park (km)', 3);
|
||||
const tesco = createPoiDistanceFilterKey('Distance to nearest Tesco (km)', 4);
|
||||
const grocery = createPoiDistanceFilterKey('Distance to nearest grocery store (km)', 4);
|
||||
|
||||
const params = stateToParams(
|
||||
null,
|
||||
{
|
||||
[park]: [0, 0.4],
|
||||
[tesco]: [0, 1.5],
|
||||
[grocery]: [0, 1.5],
|
||||
},
|
||||
[],
|
||||
new Set(),
|
||||
|
|
@ -240,7 +241,7 @@ describe('url-state', () => {
|
|||
|
||||
expect(params.getAll('amenityDistance')).toEqual([
|
||||
'Distance%20to%20nearest%20park%20(km):0:0.4',
|
||||
'Distance%20to%20nearest%20Tesco%20(km):0:1.5',
|
||||
'Distance%20to%20nearest%20grocery%20store%20(km):0:1.5',
|
||||
]);
|
||||
expect(params.getAll('filter')).toEqual([]);
|
||||
|
||||
|
|
@ -249,7 +250,60 @@ describe('url-state', () => {
|
|||
|
||||
expect(state.filters).toEqual({
|
||||
[createPoiDistanceFilterKey('Distance to nearest park (km)', 0)]: [0, 0.4],
|
||||
[createPoiDistanceFilterKey('Distance to nearest Tesco (km)', 1)]: [0, 1.5],
|
||||
[createPoiDistanceFilterKey('Distance to nearest grocery store (km)', 1)]: [0, 1.5],
|
||||
});
|
||||
});
|
||||
|
||||
it('round-trips transport distance filters with dedicated URL params', () => {
|
||||
const busStop = createPoiFilterKey(
|
||||
TRANSPORT_DISTANCE_FILTER_NAME,
|
||||
'Distance to nearest amenity (Bus stop) (km)',
|
||||
3
|
||||
);
|
||||
|
||||
const params = stateToParams(
|
||||
null,
|
||||
{
|
||||
[busStop]: [0, 0.3],
|
||||
},
|
||||
[],
|
||||
new Set(),
|
||||
'area'
|
||||
);
|
||||
|
||||
expect(params.getAll('transportDistance')).toEqual([
|
||||
'Distance%20to%20nearest%20amenity%20(Bus%20stop)%20(km):0:0.3',
|
||||
]);
|
||||
expect(params.getAll('amenityDistance')).toEqual([]);
|
||||
expect(params.getAll('filter')).toEqual([]);
|
||||
|
||||
window.history.replaceState({}, '', `/?${params.toString()}`);
|
||||
const state = parseUrlState();
|
||||
|
||||
expect(state.filters).toEqual({
|
||||
[createPoiFilterKey(
|
||||
TRANSPORT_DISTANCE_FILTER_NAME,
|
||||
'Distance to nearest amenity (Bus stop) (km)',
|
||||
0
|
||||
)]: [0, 0.3],
|
||||
});
|
||||
});
|
||||
|
||||
it('migrates legacy transport distance amenity params into transport filters', () => {
|
||||
window.history.replaceState(
|
||||
{},
|
||||
'',
|
||||
'/?amenityDistance=Distance%20to%20nearest%20amenity%20(Bus%20stop)%20(km):0:0.3'
|
||||
);
|
||||
|
||||
const state = parseUrlState();
|
||||
|
||||
expect(state.filters).toEqual({
|
||||
[createPoiFilterKey(
|
||||
TRANSPORT_DISTANCE_FILTER_NAME,
|
||||
'Distance to nearest amenity (Bus stop) (km)',
|
||||
0
|
||||
)]: [0, 0.3],
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -279,8 +333,9 @@ describe('url-state', () => {
|
|||
const state = parseUrlState();
|
||||
|
||||
expect(state.filters).toEqual({
|
||||
[createPoiFilterKey(POI_COUNT_2KM_FILTER_NAME, 'Number of amenities (Cafe) within 2km', 0)]:
|
||||
[2, 8],
|
||||
[createPoiFilterKey(POI_COUNT_2KM_FILTER_NAME, 'Number of amenities (Cafe) within 2km', 0)]: [
|
||||
2, 8,
|
||||
],
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue