const testDepartures = async (cfg) => { const {test: t, res, validate} = cfg; const ids = cfg.ids || (cfg.id ? [cfg.id] : []); const {departures: deps} = res; validate(t, res, 'departuresResponse', 'res'); for (let i = 0; i < deps.length; i++) { let stop = deps[i].stop; let name = `res.departures[${i}].stop`; if (stop.station) { stop = stop.station; name += '.station'; } t.ok( ids.includes(stop.id) || stop.station && ids.includes(stop.station.id), `${name}.id is invalid (${stop.id}), must be one of ${ids.join('/')}`, ); } // todo: move into deps validator t.same(deps, deps.sort((a, b) => t.when > b.when), 'res.departures must be sorted by .when'); }; export { testDepartures, };