test(booking-import): the per-leg seat tests pass the type check of the tests

An object literal with airplaneSeat inside the legs() call failed the excess
property check of tsconfig.tests.json; the nodes are built as constants first,
as the other seat tests do.
This commit is contained in:
Maurice
2026-11-07 00:12:56 +01:00
parent 25f2cd8192
commit 43f86f4559
@@ -657,25 +657,26 @@ describe('kitinerary mapper: the seat as KItinerary writes it', () => {
describe('kitinerary mapper: the seat on each leg of a connecting flight', () => {
it('keeps every leg its own seat', () => {
const { items } = mapReservations(
legs(
{ ...flight('ABC123', FRA, BER, '2026-06-11T10:00:00', '2026-06-11T12:00:00', 'LH 100'), airplaneSeat: '12C' },
{ ...flight('ABC123', BER, HND, '2026-06-11T14:30:00', '2026-06-11T23:30:00', 'LH 200'), airplaneSeat: '40A' },
),
'test.json',
);
const first = {
...flight('ABC123', FRA, BER, '2026-06-11T10:00:00', '2026-06-11T12:00:00', 'LH 100'),
airplaneSeat: '12C',
};
const second = {
...flight('ABC123', BER, HND, '2026-06-11T14:30:00', '2026-06-11T23:30:00', 'LH 200'),
airplaneSeat: '40A',
};
const { items } = mapReservations(legs(first, second), 'test.json');
const legsMeta = (items[0].metadata as { legs: { seat?: string }[] }).legs;
expect(legsMeta.map((leg) => leg.seat)).toEqual(['12C', '40A']);
});
it('leaves the seat off a leg that has none', () => {
const { items } = mapReservations(
legs(flight('ABC123', FRA, BER, '2026-06-11T10:00:00', '2026-06-11T12:00:00', 'LH 100'), {
...flight('ABC123', BER, HND, '2026-06-11T14:30:00', '2026-06-11T23:30:00', 'LH 200'),
airplaneSeat: '40A',
}),
'test.json',
);
const first = flight('ABC123', FRA, BER, '2026-06-11T10:00:00', '2026-06-11T12:00:00', 'LH 100');
const second = {
...flight('ABC123', BER, HND, '2026-06-11T14:30:00', '2026-06-11T23:30:00', 'LH 200'),
airplaneSeat: '40A',
};
const { items } = mapReservations(legs(first, second), 'test.json');
const legsMeta = (items[0].metadata as { legs: Record<string, unknown>[] }).legs;
expect(legsMeta[0]).not.toHaveProperty('seat');
expect(legsMeta[1]).toMatchObject({ seat: '40A' });