// 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); import tap from 'tap'; import {createClient} from '../index.js'; import {profile as rawProfile} from '../p/db/index.js'; const res0 = require('./fixtures/db-journey-overnight-0.json'); const expected0 = require('./fixtures/db-journey-overnight-0.expected.json'); const res1 = require('./fixtures/db-journey-overnight-1.json'); import {overnightJourney as expected1} from './fixtures/db-journey-overnight-1.expected.js'; const client = createClient(rawProfile, 'public-transport/hafas-client:test'); const {profile} = client; const baseOpt = { results: null, via: null, stopovers: false, transfers: -1, transferTime: 0, accessibility: 'none', bike: false, walkingSpeed: 'normal', startWithWalking: true, tickets: true, polylines: true, remarks: true, scheduledDays: false, products: {}, }; tap.test('parses a journey across day with correct timestamps', (t) => { const opt = { ...baseOpt, results: 4, stopovers: true, departure: '2023-11-13T22:00:00+01:00', }; const common = profile.parseCommon({profile, opt, res: res0}); const ctx = {profile, opt, common, res: res0}; const journey = profile.parseJourney(ctx, res0.outConL[16]); t.same(journey, expected0); t.end(); }); tap.test('parses a journey across dates with correct timestamps', (t) => { const opt = { ...baseOpt, results: 1, stopovers: true, departure: '2023-11-24T22:00+01:00', }; const common = profile.parseCommon({profile, opt, res: res1}); const ctx = {profile, opt, common, res: res1}; const journey = profile.parseJourney(ctx, res1.outConL[0]); t.same(journey, expected1); t.end(); });