db-vendo-client/test/sbb-journeys.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

2022-05-07 16:17:37 +02:00
// 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)
2022-05-07 16:17:37 +02:00
import tap from 'tap'
2022-05-07 16:17:37 +02:00
import {createClient} from '../index.js'
import {profile as rawProfile} from '../p/sbb/index.js'
const res = require('./fixtures/sbb-journeys.json')
2022-05-07 16:17:37 +02:00
import {sbbJourneys as expected} from './fixtures/sbb-journeys.js'
const client = createClient(rawProfile, 'public-transport/hafas-client:test')
const {profile} = client
const opt = {
results: null,
via: null,
stopovers: false,
transfers: -1,
transferTime: 0,
accessibility: 'none',
bike: false,
walkingSpeed: 'normal',
startWithWalking: true,
tickets: false,
polylines: false,
subStops: true,
entrances: true,
remarks: true,
scheduledDays: false,
departure: '2020-12-07T13:29+01:00',
products: {},
}
2021-05-20 16:42:43 +01:00
tap.test('parses a journeys() response correctly (SBB)', (t) => {
const common = profile.parseCommon({profile, opt, res})
const ctx = {profile, opt, common, res}
const journeys = res.outConL.map(j => profile.parseJourney(ctx, j))
2021-05-20 16:42:43 +01:00
t.same(journeys, expected)
t.end()
})