refreshJourney: return journey as field 💥📝

This commit is contained in:
Jannis R 2022-04-28 22:59:19 +02:00
parent 751ae21d18
commit 3cbbc3c4da
No known key found for this signature in database
GPG key ID: 0FE83946296A88A5
4 changed files with 11 additions and 6 deletions

View file

@ -30,8 +30,10 @@ const client = createClient(vbbProfile)
const {journeys} = await client.journeys('900000003201', '900000100008', {results: 1})
// later, fetch up-to-date info on the journey
const journey = await client.refreshJourney(journeys[0].refreshToken, {stopovers: true, remarks: true})
const {realtimeDataUpdatedAt} = journey
const {
journey,
realtimeDataUpdatedAt,
} = await client.refreshJourney(journeys[0].refreshToken, {stopovers: true, remarks: true})
```
`journey` is a *single* [*Friendly Public Transport Format* v2 draft](https://github.com/public-transport/friendly-public-transport-format/blob/3bd36faa721e85d9f5ca58fb0f38cdbedb87bbca/spec/readme.md) `journey`, in the same format as returned by [`journeys()`](journeys.md).

View file

@ -262,10 +262,10 @@ const createClient = (profile, userAgent, opt = {}) => {
const ctx = {profile, opt, common, res}
return {
journey: profile.parseJourney(ctx, res.outConL[0]),
realtimeDataUpdatedAt: res.planrtTS && res.planrtTS !== '0'
? parseInt(res.planrtTS)
: null,
...profile.parseJourney(ctx, res.outConL[0])
}
}

View file

@ -32,10 +32,11 @@ const testRefreshJourney = async (cfg) => {
t.equal(typeof model.refreshToken, 'string')
t.ok(model.refreshToken)
const refreshed = await refreshJourney(model.refreshToken, {
const refreshedRes = await refreshJourney(model.refreshToken, {
stopovers: false
})
validate(t, refreshed, 'refreshJourneyResult', 'refreshed')
validate(t, refreshedRes, 'refreshJourneyResult', 'refreshedRes')
const refreshed = refreshedRes.journey
t.same(simplify(refreshed), simplify(model))
}

View file

@ -433,9 +433,11 @@ const validateJourneysResult = (val, res, name = 'journeysResult') => {
}
const validateRefreshJourneyResult = (val, res, name = 'refreshJourneyResult') => {
val.journey(val, res, name + '.journey')
a.ok(isObj(res), name + ' must be an object')
val.realtimeDataUpdatedAt(val, res.realtimeDataUpdatedAt, name + '.realtimeDataUpdatedAt')
val.journey(val, res.journey, name + '.journey')
}
const validateTrip = (val, trip, name = 'trip') => {