// 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 resDTZOffset0 = require('./fixtures/db-journey-dtzoffset-0.json');
const resATZOffset0 = require('./fixtures/db-journey-atzoffset-0.json');

const client = createClient(rawProfile, 'public-transport/hafas-client:test');
const {profile} = client;

const opt = {
	stopovers: false,
	tickets: false,
	polylines: false,
	subStops: true,
	entrances: true,
	remarks: true,
};

// https://github.com/public-transport/hafas-client/issues/237

tap.test('parses a journey whose first leg has a dTZOffset of 0 (#237)', (t) => {
	const common = profile.parseCommon({profile, opt, res: resDTZOffset0});
	const ctx = {profile, opt, common, res: resDTZOffset0};
	const journey = profile.parseJourney(ctx, resDTZOffset0.outConL[0]);

	const firstLeg = journey.legs[0];
	t.notOk((/Z$/).test(firstLeg.departure), 'firstLeg.departure has TZ offset "Z"');
	t.end();
});

tap.test('parses a journey whose first leg has a aTZOffset of 0 (#237)', (t) => {
	const common = profile.parseCommon({profile, opt, res: resATZOffset0});
	const ctx = {profile, opt, common, res: resATZOffset0};
	const journey = profile.parseJourney(ctx, resATZOffset0.outConL[0]);

	const lastLeg = journey.legs[0];
	t.notOk((/Z$/).test(lastLeg.departure), 'lastLeg.departure has TZ offset "Z"');
	t.end();
});