diff --git a/parse/date-time.js b/parse/date-time.js index 7625d0a6..4c913e1c 100644 --- a/parse/date-time.js +++ b/parse/date-time.js @@ -2,14 +2,14 @@ const moment = require('moment-timezone') -const parseDateTime = (profile, date, time) => { +const parseDateTime = (timezone, date, time) => { let offset = 0 // in days if (time.length > 6) { offset = +time.slice(0, -6) time = time.slice(-6) } - return moment.tz(date + 'T' + time, profile.timezone) + return moment.tz(date + 'T' + time, timezone) .add(offset, 'days') } diff --git a/parse/departure.js b/parse/departure.js index ba897cf5..42978a35 100644 --- a/parse/departure.js +++ b/parse/departure.js @@ -14,10 +14,10 @@ const createParseDeparture = (profile, stations, lines, remarks) => { const parseDeparture = (d) => { const when = profile.parseDateTime(tz, d.date, d.stbStop.dTimeR || d.stbStop.dTimeS) const res = { - ref: d.jid, + journeyId: d.jid, station: stations[parseInt(d.stbStop.locX)] || null, when: when.format(), - direction: d.dirTxt, + direction: profile.parseStationName(d.dirTxt), line: lines[parseInt(d.prodX)] || null, remarks: d.remL ? d.remL.map(findRemark) : [], trip: +d.jid.split('|')[1] // todo: this seems brittle diff --git a/test/db.js b/test/db.js index 76ec2132..25cc61f0 100644 --- a/test/db.js +++ b/test/db.js @@ -16,7 +16,7 @@ const { assertValidLocation, assertValidLine, assertValidStopover, - when, isValidWhen + when, isValidWhen // todo: timezone } = require('./util.js') const assertValidStationProducts = (t, p) => { diff --git a/test/vbb.js b/test/vbb.js index 9a367c7d..4c5fbb00 100644 --- a/test/vbb.js +++ b/test/vbb.js @@ -6,21 +6,27 @@ const stations = require('vbb-stations-autocomplete') const tapePromise = require('tape-promise').default const tape = require('tape') const co = require('co') +const shorten = require('vbb-short-station-name') const createClient = require('..') const vbbProfile = require('../p/vbb') const modes = require('../p/vbb/modes') const { - assertValidStation, assertValidFrameStation, + assertValidStation: _assertValidStation, assertValidPoi, assertValidAddress, assertValidLocation, assertValidLine: _assertValidLine, assertValidStopover, hour, when, - assertValidWhen + assertValidWhen // todo: timezone } = require('./util') +const assertValidStation = (t, s, coordsOptional = false) => { + _assertValidStation(t, s, coordsOptional) + t.equal(s.name, shorten(s.name)) +} + const assertValidStationProducts = (t, p) => { t.ok(p) t.equal(typeof p.suburban, 'boolean') @@ -233,8 +239,8 @@ test('departures', co.wrap(function* (t) { t.ok(Array.isArray(deps)) t.deepEqual(deps, deps.sort((a, b) => t.when > b.when)) for (let dep of deps) { - t.equal(typeof dep.ref, 'string') - t.ok(dep.ref) + t.equal(typeof dep.journeyId, 'string') + t.ok(dep.journeyId) t.equal(dep.station.name, 'U Spichernstr.') assertValidStation(t, dep.station)