add attribute additional to additional stopovers

This commit is contained in:
Daniel Bund 2023-11-25 16:58:31 +01:00 committed by Jannis R
parent ecc8fccc54
commit 244e88dec0
No known key found for this signature in database
GPG key ID: 0FE83946296A88A5
3 changed files with 1345 additions and 0 deletions

View file

@ -37,6 +37,10 @@ const parseStopover = (ctx, st, date) => { // st = raw stopover
Object.defineProperty(res, 'canceled', {value: true})
}
if (st.isAdd) {
res.additional = true
}
if (opt.remarks && Array.isArray(st.msgL)) {
res.remarks = findRemarks(st.msgL).map(([remark]) => remark)
}

View file

@ -0,0 +1,35 @@
// todo: use import assertions once they're supported by Node.js & ESLint
// https://github.com/tc39/proposal-import-assertions
import {createRequire} from 'module'
const require = createRequire(import.meta.url)
import tap from 'tap'
import {createClient} from '../index.js'
import {profile as rawProfile} from '../p/db/index.js'
const resAdditionalStopover = require('./fixtures/db-journey-additional-stopover.json')
const client = createClient(rawProfile, 'public-transport/hafas-client:test')
const {profile} = client
const opt = {
results: 1,
stopovers: true
}
// https://github.com/public-transport/hafas-client/issues/303
tap.test('parses a journey having a leg with an additional stopover', (t) => {
const common = profile.parseCommon({profile, opt, res: resAdditionalStopover})
const ctx = {profile, opt, common, res: resAdditionalStopover}
const journey = profile.parseJourney(ctx, resAdditionalStopover.outConL[0])
const stopovers = journey.legs[0].stopovers
const stopoverRegular = stopovers[6]
const stopoverAdditional = stopovers[7]
t.notOk('additional' in stopoverRegular, 'regular stopover has attribute additional')
t.equal(stopoverAdditional.additional, true, 'additional stopover doesn\'t have attribute additional')
t.end()
})

File diff suppressed because it is too large Load diff