2018-07-07 21:26:40 +02:00
|
|
|
'use strict'
|
|
|
|
|
2018-11-21 19:07:37 +01:00
|
|
|
const testDeparturesInDirection = async (cfg) => {
|
2018-07-07 21:26:40 +02:00
|
|
|
const {
|
|
|
|
test: t,
|
|
|
|
fetchDepartures,
|
|
|
|
fetchTrip,
|
|
|
|
id,
|
|
|
|
directionIds,
|
|
|
|
when,
|
|
|
|
validate
|
|
|
|
} = cfg
|
|
|
|
|
2021-12-29 21:11:07 +01:00
|
|
|
const res = await fetchDepartures(id, {
|
2018-07-07 21:26:40 +02:00
|
|
|
direction: directionIds[0],
|
|
|
|
when
|
|
|
|
})
|
2021-12-29 21:11:07 +01:00
|
|
|
const {departures: deps} = res
|
|
|
|
|
|
|
|
validate(t, res, 'departuresResponse', 'res')
|
2018-07-07 21:26:40 +02:00
|
|
|
|
|
|
|
for (let i = 0; i < deps.length; i++) {
|
|
|
|
const dep = deps[i]
|
|
|
|
const name = `deps[${i}]`
|
|
|
|
|
|
|
|
const line = dep.line && dep.line.name
|
2021-12-29 21:23:28 +01:00
|
|
|
const {trip} = await fetchTrip(dep.tripId, line, {
|
2018-07-07 21:26:40 +02:00
|
|
|
when, stopovers: true
|
|
|
|
})
|
2018-07-11 13:25:22 +02:00
|
|
|
t.ok(trip.stopovers.some(st => (
|
|
|
|
st.stop.station && directionIds.includes(st.stop.station.id) ||
|
|
|
|
directionIds.includes(st.stop.id)
|
2020-08-18 02:13:33 +02:00
|
|
|
)), `trip ${dep.tripId} of ${name} has no stopover at ${directionIds.join('/')}`)
|
2018-07-07 21:26:40 +02:00
|
|
|
}
|
2018-11-21 19:07:37 +01:00
|
|
|
}
|
2018-07-07 21:26:40 +02:00
|
|
|
|
|
|
|
module.exports = testDeparturesInDirection
|