mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-23 07:09:35 +02:00
add tests for arrival parsing (db)
This commit is contained in:
parent
3ca4a0c2b2
commit
57fc610a5f
4 changed files with 595 additions and 0 deletions
33
test/db-arrivals.js
Normal file
33
test/db-arrivals.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
'use strict'
|
||||
|
||||
const tapePromise = require('tape-promise').default
|
||||
const tape = require('tape')
|
||||
|
||||
const createClient = require('..')
|
||||
const rawProfile = require('../p/db')
|
||||
const res = require('./fixtures/db-arrivals.json')
|
||||
const expected = require('./fixtures/db-arrivals.js')
|
||||
|
||||
const test = tapePromise(tape)
|
||||
const client = createClient(rawProfile, 'public-transport/hafas-client:test')
|
||||
const {profile} = client
|
||||
|
||||
const opt = {
|
||||
direction: null,
|
||||
duration: 10,
|
||||
linesOfStops: true,
|
||||
remarks: true,
|
||||
stopovers: true,
|
||||
includeRelatedStations: true,
|
||||
when: '2019-08-19T20:30:00+02:00',
|
||||
products: {}
|
||||
}
|
||||
|
||||
test('parses an arrival correctly (DB)', (t) => {
|
||||
const common = profile.parseCommon({profile, opt, res})
|
||||
const ctx = {profile, opt, common, res}
|
||||
const arrivals = res.jnyL.map(d => profile.parseArrival(ctx, d))
|
||||
|
||||
t.deepEqual(arrivals, expected)
|
||||
t.end()
|
||||
})
|
265
test/fixtures/db-arrivals.js
vendored
Normal file
265
test/fixtures/db-arrivals.js
vendored
Normal file
|
@ -0,0 +1,265 @@
|
|||
'use strict'
|
||||
|
||||
module.exports = [
|
||||
{
|
||||
tripId: '1|1144239|52|80|9062020',
|
||||
stop: {
|
||||
type: 'stop',
|
||||
id: '730985',
|
||||
name: 'Jungfernheide Bahnhof (S+U), Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '730985',
|
||||
latitude: 52.530866,
|
||||
longitude: 13.300781
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExp: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: false,
|
||||
taxi: false
|
||||
},
|
||||
station: {
|
||||
type: 'station',
|
||||
id: '8011167',
|
||||
name: 'Berlin Jungfernheide',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '8011167',
|
||||
latitude: 52.530291,
|
||||
longitude: 13.299451
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExp: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: false,
|
||||
taxi: false
|
||||
},
|
||||
lines: [
|
||||
{
|
||||
type: 'line',
|
||||
id: '3-bb-re6',
|
||||
fahrtNr: null,
|
||||
name: 'Bus RE6',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'regional'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '3-08-sev-1491900-5842741',
|
||||
fahrtNr: null,
|
||||
name: 'Bus SEV',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'regional'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: 'rb',
|
||||
fahrtNr: null,
|
||||
name: 'RB',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'regional'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: 're',
|
||||
fahrtNr: null,
|
||||
name: 'RE',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'regional'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: 're',
|
||||
fahrtNr: null,
|
||||
name: 'RE',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'regional'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '4-08-2',
|
||||
fahrtNr: null,
|
||||
name: 'S 2',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'suburban'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '4-08-25',
|
||||
fahrtNr: null,
|
||||
name: 'S 25',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'suburban'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '4-08-41',
|
||||
fahrtNr: null,
|
||||
name: 'S 41',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'suburban'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '4-08-42',
|
||||
fahrtNr: null,
|
||||
name: 'S 42',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'suburban'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '4-08-46',
|
||||
fahrtNr: null,
|
||||
name: 'S 46',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'suburban'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-n7',
|
||||
fahrtNr: null,
|
||||
name: 'Bus N7',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-x9',
|
||||
fahrtNr: null,
|
||||
name: 'Bus X9',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-109',
|
||||
fahrtNr: null,
|
||||
name: 'Bus 109',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-m21',
|
||||
fahrtNr: null,
|
||||
name: 'Bus M21',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-m27',
|
||||
fahrtNr: null,
|
||||
name: 'Bus M27',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '7-vbbbvu-7',
|
||||
fahrtNr: null,
|
||||
name: 'U 7',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'subway'
|
||||
}
|
||||
]
|
||||
},
|
||||
lines: [
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-n7',
|
||||
fahrtNr: null,
|
||||
name: 'Bus N7',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-x9',
|
||||
fahrtNr: null,
|
||||
name: 'Bus X9',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-m21',
|
||||
fahrtNr: null,
|
||||
name: 'Bus M21',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-m27',
|
||||
fahrtNr: null,
|
||||
name: 'Bus M27',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus'
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '7-vbbbvu-7',
|
||||
fahrtNr: null,
|
||||
name: 'U 7',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'subway'
|
||||
}
|
||||
]
|
||||
},
|
||||
when: '2020-06-09T17:21:00+02:00',
|
||||
plannedWhen: '2020-06-09T17:04:00+02:00',
|
||||
delay: 1020,
|
||||
platform: null,
|
||||
plannedPlatform: null,
|
||||
direction: null,
|
||||
provenance: 'Rathaus Spandau (S+U), Berlin',
|
||||
line: {
|
||||
type: 'line',
|
||||
id: '7-vbbbvu-7',
|
||||
fahrtNr: '19245',
|
||||
name: 'U 7',
|
||||
public: true,
|
||||
adminCode: 'vbbBVU',
|
||||
mode: 'train',
|
||||
product: 'subway',
|
||||
operator: { type: 'operator', id: 'nahreisezug', name: 'Nahreisezug' }
|
||||
},
|
||||
remarks: []
|
||||
}
|
||||
]
|
296
test/fixtures/db-arrivals.json
vendored
Normal file
296
test/fixtures/db-arrivals.json
vendored
Normal file
|
@ -0,0 +1,296 @@
|
|||
{
|
||||
"common": {
|
||||
"locL": [
|
||||
{
|
||||
"lid": "A=1@O=Jungfernheide Bahnhof (S+U), Berlin@X=13300781@Y=52530866@U=80@L=730985@",
|
||||
"type": "S",
|
||||
"name": "Jungfernheide Bahnhof (S+U), Berlin",
|
||||
"icoX": 2,
|
||||
"extId": "730985",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 13300781,
|
||||
"y": 52530866,
|
||||
"type": "WGS84",
|
||||
"layerX": 0,
|
||||
"crdSysX": 0
|
||||
},
|
||||
"pCls": 184,
|
||||
"pRefL": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5
|
||||
],
|
||||
"mMastLocX": 1
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Berlin Jungfernheide@X=13299433@Y=52530273@U=80@L=8011167@",
|
||||
"type": "S",
|
||||
"name": "Berlin Jungfernheide",
|
||||
"icoX": 2,
|
||||
"extId": "8011167",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 13299451,
|
||||
"y": 52530291,
|
||||
"z": 0,
|
||||
"type": "WGS84",
|
||||
"layerX": 0,
|
||||
"crdSysX": 0
|
||||
},
|
||||
"pCls": 184,
|
||||
"pRefL": [
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
1,
|
||||
2,
|
||||
16,
|
||||
3,
|
||||
4,
|
||||
5
|
||||
]
|
||||
}
|
||||
],
|
||||
"prodL": [
|
||||
{
|
||||
"name": "U 7",
|
||||
"nameS": "7",
|
||||
"number": "7",
|
||||
"icoX": 0,
|
||||
"cls": 128,
|
||||
"oprX": 0,
|
||||
"prodCtx": {
|
||||
"name": "U 7",
|
||||
"num": "19245",
|
||||
"line": "7",
|
||||
"lineId": "7_vbbBVU_7",
|
||||
"matchId": "",
|
||||
"catOut": "U",
|
||||
"catOutS": "U",
|
||||
"catOutL": "U-Bahn",
|
||||
"catIn": "U",
|
||||
"catCode": "7",
|
||||
"admin": "vbbBVU"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus N7",
|
||||
"nameS": "N7",
|
||||
"icoX": 2,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"lineId": "5_vbbBVB_N7"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus X9",
|
||||
"nameS": "X9",
|
||||
"icoX": 2,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"lineId": "5_vbbBVB_X9"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus M21",
|
||||
"nameS": "M21",
|
||||
"icoX": 2,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"lineId": "5_vbbBVB_M21"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus M27",
|
||||
"nameS": "M27",
|
||||
"icoX": 2,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"lineId": "5_vbbBVB_M27"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "U 7",
|
||||
"nameS": "7",
|
||||
"icoX": 0,
|
||||
"cls": 128,
|
||||
"prodCtx": {
|
||||
"lineId": "7_vbbBVU_7"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus RE6",
|
||||
"nameS": "RE6",
|
||||
"icoX": 2,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"lineId": "3_BB_____RE6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus SEV",
|
||||
"nameS": "SEV",
|
||||
"icoX": 2,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"lineId": "3_08_____SEV!!1491900!!5842741"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "RB",
|
||||
"icoX": 3,
|
||||
"cls": 8
|
||||
},
|
||||
{
|
||||
"name": "RE",
|
||||
"icoX": 4,
|
||||
"cls": 8
|
||||
},
|
||||
{
|
||||
"name": "RE",
|
||||
"icoX": 5,
|
||||
"cls": 8
|
||||
},
|
||||
{
|
||||
"name": "S 2",
|
||||
"nameS": "2",
|
||||
"icoX": 6,
|
||||
"cls": 16,
|
||||
"prodCtx": {
|
||||
"lineId": "4_08_____2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "S 25",
|
||||
"nameS": "25",
|
||||
"icoX": 6,
|
||||
"cls": 16,
|
||||
"prodCtx": {
|
||||
"lineId": "4_08_____25"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "S 41",
|
||||
"nameS": "41",
|
||||
"icoX": 6,
|
||||
"cls": 16,
|
||||
"prodCtx": {
|
||||
"lineId": "4_08_____41"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "S 42",
|
||||
"nameS": "42",
|
||||
"icoX": 6,
|
||||
"cls": 16,
|
||||
"prodCtx": {
|
||||
"lineId": "4_08_____42"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "S 46",
|
||||
"nameS": "46",
|
||||
"icoX": 6,
|
||||
"cls": 16,
|
||||
"prodCtx": {
|
||||
"lineId": "4_08_____46"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 109",
|
||||
"nameS": "109",
|
||||
"icoX": 2,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"lineId": "5_vbbBVB_109"
|
||||
}
|
||||
}
|
||||
],
|
||||
"polyL": [],
|
||||
"layerL": [
|
||||
{
|
||||
"id": "standard",
|
||||
"name": "standard",
|
||||
"index": 0,
|
||||
"annoCnt": 0
|
||||
}
|
||||
],
|
||||
"crdSysL": [
|
||||
{
|
||||
"id": "standard",
|
||||
"index": 0,
|
||||
"type": "WGS84",
|
||||
"dim": 3
|
||||
}
|
||||
],
|
||||
"opL": [
|
||||
{
|
||||
"name": "Nahreisezug",
|
||||
"icoX": 1
|
||||
}
|
||||
],
|
||||
"remL": [],
|
||||
"icoL": [
|
||||
{
|
||||
"res": "U"
|
||||
},
|
||||
{
|
||||
"res": "DPN",
|
||||
"txt": "Nahreisezug"
|
||||
},
|
||||
{
|
||||
"res": "Bus"
|
||||
},
|
||||
{
|
||||
"res": "RB"
|
||||
},
|
||||
{
|
||||
"res": "DPN"
|
||||
},
|
||||
{
|
||||
"res": "RE"
|
||||
},
|
||||
{
|
||||
"res": "S"
|
||||
}
|
||||
]
|
||||
},
|
||||
"type": "ARR",
|
||||
"jnyL": [
|
||||
{
|
||||
"jid": "1|1144239|52|80|9062020",
|
||||
"date": "20200609",
|
||||
"prodX": 0,
|
||||
"dirTxt": "Rathaus Spandau (S+U), Berlin",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"stbStop": {
|
||||
"locX": 0,
|
||||
"idx": 9,
|
||||
"aProdX": 0,
|
||||
"aOutR": true,
|
||||
"aTimeS": "170400",
|
||||
"aTimeR": "172100",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"subscr": "F"
|
||||
}
|
||||
],
|
||||
"fpB": "20191215",
|
||||
"fpE": "20201212",
|
||||
"planrtTS": "1591715437",
|
||||
"sD": "20200609",
|
||||
"sT": "171108"
|
||||
}
|
|
@ -7,6 +7,7 @@ require('./db-stop')
|
|||
require('./insa-stop')
|
||||
require('./bvg-journey')
|
||||
require('./db-journey')
|
||||
require('./db-arrivals')
|
||||
require('./vbb-departures')
|
||||
require('./bvg-radar')
|
||||
require('./db-netz-remarks')
|
||||
|
|
Loading…
Add table
Reference in a new issue