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)
|
2020-08-01 18:25:27 +02:00
|
|
|
|
2022-05-07 16:17:37 +02:00
|
|
|
import tap from 'tap'
|
2020-08-01 18:25:27 +02:00
|
|
|
|
2022-05-07 16:17:37 +02:00
|
|
|
import {createClient} from '../index.js'
|
|
|
|
import {profile as rawProfile} from '../p/vsn/index.js'
|
2020-08-01 18:25:27 +02:00
|
|
|
const res = require('./fixtures/vsn-departures.json')
|
2022-05-07 16:17:37 +02:00
|
|
|
import {vsnDepartures as expected} from './fixtures/vsn-departures.js'
|
2020-08-01 18:25:27 +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: false,
|
|
|
|
// departure: '2020-04-10T20:33+02:00',
|
|
|
|
// products: {}
|
|
|
|
}
|
|
|
|
|
2021-05-20 16:42:43 +01:00
|
|
|
tap.test('parses departures correctly (VSN)', (t) => {
|
2020-08-01 18:25:27 +02:00
|
|
|
const common = profile.parseCommon({profile, opt, res})
|
|
|
|
const ctx = {profile, opt, common, res}
|
|
|
|
|
|
|
|
const dep = profile.parseDeparture(ctx, res.jnyL[0])
|
2021-05-20 16:42:43 +01:00
|
|
|
t.same(dep, expected)
|
2020-08-01 18:25:27 +02:00
|
|
|
t.end()
|
|
|
|
})
|