db-vendo-client/test/lib/refresh-journey.js

51 lines
1.1 KiB
JavaScript
Raw Normal View History

'use strict'
const simplify = j => j.legs.map(l => {
let departure = null
if (l.departure) {
departure = +new Date(l.departure)
if ('number' === typeof l.departureDelay) departure -= l.departureDelay * 1000
}
let arrival = null
if (l.arrival) {
arrival = +new Date(l.arrival)
if ('number' === typeof l.arrivalDelay) arrival -= l.arrivalDelay * 1000
}
return {
origin: l.origin,
destination: l.destination,
scheduledDeparture: departure,
scheduledArrival: arrival,
line: l.line
}
})
2018-11-21 19:07:37 +01:00
const testRefreshJourney = async (cfg) => {
const {
test: t,
fetchJourneys,
refreshJourney,
fromId,
toId,
when,
// todo: validate
} = cfg
const modelRes = await fetchJourneys(fromId, toId, {
results: 1, departure: when,
stopovers: false
})
const [model] = modelRes.journeys
// todo: move to journeys validator?
t.equal(typeof model.refreshToken, 'string')
t.ok(model.refreshToken)
2018-11-21 19:07:37 +01:00
const refreshed = await refreshJourney(model.refreshToken, {
stopovers: false
})
t.deepEqual(simplify(refreshed), simplify(model))
2018-11-21 19:07:37 +01:00
}
module.exports = testRefreshJourney