mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-22 22:59:35 +02:00
* parse bahn.de boards * add optional chaining in line.js * unit tests for bahn.de boards * fix product check in line.js for bahn.de boards * add integration tests for bahn.de boards * allow letting hafas decide the amount of vias * split dbweb and dbregioguide profiles; add db profile * commit location-filter.js (forgot that in the last commit) * simplify how db profile works * remove `ezGleis` from coalesce for scheduled platform * un-break parsing of remarks * determine fahrtNr by removing all non-digits * employ enrichStations for board stop property * prevent timeouts in dbweb e2e test from calling `end()` twice * use promises in dbweb e2e tests when waiting for enrichStations to work * replace vias option with stopovers option for dbweb profile; enrich stations when only name is known * change dbweb-departures test covering enrichStation feature for stop and stopovers * remove check for not existing option * move verkehrsmittel.name in front of verkehrsmittel.langText when parsing name in line.js
47 lines
936 B
JavaScript
47 lines
936 B
JavaScript
import tap from 'tap';
|
|
|
|
import {createClient} from '../../index.js';
|
|
import {profile as rawProfile} from '../../p/dbweb/index.js';
|
|
|
|
const client = createClient(rawProfile, 'public-transport/hafas-client:test');
|
|
const {profile} = client;
|
|
|
|
const opt = {
|
|
when: new Date('2025-02-09T23:55:00+01:00'),
|
|
remarks: true,
|
|
stopovers: true,
|
|
language: 'en',
|
|
};
|
|
|
|
const berlinArrivalsQuery = {
|
|
endpoint: 'https://int.bahn.de/web/api/reiseloesung/',
|
|
path: 'ankuenfte',
|
|
query: {
|
|
ortExtId: '8011160',
|
|
zeit: '23:55',
|
|
datum: '2025-02-09',
|
|
mitVias: true,
|
|
verkehrsmittel: [
|
|
'ICE',
|
|
'EC_IC',
|
|
'IR',
|
|
'REGIONAL',
|
|
'SBAHN',
|
|
'BUS',
|
|
'SCHIFF',
|
|
'UBAHN',
|
|
'TRAM',
|
|
'ANRUFPFLICHTIG',
|
|
],
|
|
},
|
|
method: 'GET',
|
|
};
|
|
|
|
tap.test('formats an arrivals() request correctly', (t) => {
|
|
const ctx = {profile, opt};
|
|
|
|
const req = profile.formatStationBoardReq(ctx, '8011160', 'arrivals');
|
|
|
|
t.same(req, berlinArrivalsQuery);
|
|
t.end();
|
|
});
|