db-vendo-client/test/lib/departures-in-direction.js

38 lines
807 B
JavaScript
Raw Normal View History

'use strict'
const co = require('./co')
const testDeparturesInDirection = co(function* (cfg) {
const {
test: t,
fetchDepartures,
fetchTrip,
id,
directionIds,
when,
validate
} = cfg
const deps = yield fetchDepartures(id, {
direction: directionIds[0],
when
})
validate(t, deps, 'departures', 'departures')
t.ok(deps.length > 0, 'must be >0 departures')
for (let i = 0; i < deps.length; i++) {
const dep = deps[i]
const name = `deps[${i}]`
const line = dep.line && dep.line.name
const trip = yield fetchTrip(dep.tripId, line, {
when, stopovers: true
})
t.ok(trip.stopovers.some(st => {
return st.stop && directionIds.includes(st.stop.id)
}), `trip ${dep.tripId} of ${name} has no stopover at ${directionIds}`)
}
})
module.exports = testDeparturesInDirection