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
|
2024-02-06 22:58:49 +01:00
|
|
|
import {createRequire} from 'module';
|
|
|
|
const require = createRequire(import.meta.url);
|
2019-08-19 20:42:19 +02:00
|
|
|
|
2024-02-06 22:58:49 +01:00
|
|
|
import tap from 'tap';
|
2019-08-19 20:42:19 +02:00
|
|
|
|
2024-02-06 22:58:49 +01:00
|
|
|
import {createClient} from '../index.js';
|
|
|
|
import {profile as rawProfile} from '../p/bvg/index.js';
|
|
|
|
const res = require('./fixtures/bvg-radar.json');
|
|
|
|
import {bvgRadar as expected} from './fixtures/bvg-radar.js';
|
2019-08-19 20:42:19 +02:00
|
|
|
|
2024-02-06 22:58:49 +01:00
|
|
|
const client = createClient(rawProfile, 'public-transport/hafas-client:test');
|
|
|
|
const {profile} = client;
|
2019-08-19 20:42:19 +02:00
|
|
|
|
|
|
|
const opt = {
|
|
|
|
results: 256,
|
|
|
|
duration: 30,
|
|
|
|
frames: 3,
|
|
|
|
polylines: true,
|
2020-04-09 14:53:28 +02:00
|
|
|
when: '2019-08-19T21:00:00+02:00',
|
2024-02-06 22:58:49 +01:00
|
|
|
products: {},
|
|
|
|
};
|
2019-08-19 20:42:19 +02:00
|
|
|
|
2021-05-20 16:42:43 +01:00
|
|
|
tap.test('parses a radar() response correctly (BVG)', (t) => {
|
2024-02-06 22:58:49 +01:00
|
|
|
const common = profile.parseCommon({profile, opt, res});
|
|
|
|
const ctx = {profile, opt, common, res};
|
|
|
|
const movements = res.jnyL.map(m => profile.parseMovement(ctx, m));
|
2019-08-19 20:42:19 +02:00
|
|
|
|
2024-02-06 22:58:49 +01:00
|
|
|
t.same(movements, expected);
|
|
|
|
t.end();
|
|
|
|
});
|