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

35 lines
1,020 B
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);
2021-10-28 12:41:36 +02:00
import tap from 'tap';
2021-10-28 12:41:36 +02:00
import {createClient} from '../index.js';
import {profile as rawProfile} from '../p/bvg/index.js';
const res = require('./fixtures/bvg-arrivals.json');
import {bvgArrivals as expected} from './fixtures/bvg-arrivals.js';
2021-10-28 12:41:36 +02:00
const client = createClient(rawProfile, 'public-transport/hafas-client:test');
const {profile} = client;
2021-10-28 12:41:36 +02:00
const opt = {
direction: null,
duration: 10,
linesOfStops: true,
remarks: true,
stopovers: true,
includeRelatedStations: true,
when: '2021-10-28T10:35:00+02:00',
products: {},
};
2021-10-28 12:41:36 +02:00
tap.test('parses an arrival correctly (BVG)', (t) => {
const common = profile.parseCommon({profile, opt, res});
const ctx = {profile, opt, common, res};
const arrivals = res.jnyL.map(d => profile.parseArrival(ctx, d));
2021-10-28 12:41:36 +02:00
t.same(arrivals, expected);
t.end();
});