db-vendo-client/test/bvg-journey.js

42 lines
1.1 KiB
JavaScript
Raw Permalink 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)
2019-08-19 20:42:19 +02:00
2022-05-07 16:17:37 +02:00
import tap from 'tap'
2019-08-19 20:42:19 +02:00
2022-05-07 16:17:37 +02:00
import {createClient} from '../index.js'
import {profile as rawProfile} from '../p/bvg/index.js'
2019-10-25 23:42:17 +02:00
const res = require('./fixtures/bvg-journey.json')
2022-05-07 16:17:37 +02:00
import {bvgJourney as expected} from './fixtures/bvg-journey.js'
2019-08-19 20:42:19 +02:00
const client = createClient(rawProfile, 'public-transport/hafas-client:test')
const {profile} = client
const opt = {
results: null,
via: null,
stopovers: true,
transfers: -1,
transferTime: 0,
accessibility: 'none',
bike: false,
tickets: true,
polylines: true,
remarks: true,
walkingSpeed: 'normal',
startWithWalking: true,
scheduledDays: true,
departure: '2019-08-18T14:03:50+02:00',
products: {}
}
2021-05-20 16:42:43 +01:00
tap.test('parses a journey correctly (BVG)', (t) => {
2019-10-25 23:42:17 +02:00
const common = profile.parseCommon({profile, opt, res})
const ctx = {profile, opt, common, res}
const journey = profile.parseJourney(ctx, res.outConL[0])
2019-08-19 20:42:19 +02:00
2021-05-20 16:42:43 +01:00
t.same(journey, expected)
2019-08-19 20:42:19 +02:00
t.end()
})