basic parser tests

This commit is contained in:
Jannis R 2019-08-19 20:42:19 +02:00
parent 9a89cd0dc8
commit bff7384f06
No known key found for this signature in database
GPG key ID: 0FE83946296A88A5
10 changed files with 10144 additions and 0 deletions

40
test/bvg-journey.js Normal file
View file

@ -0,0 +1,40 @@
'use strict'
const tapePromise = require('tape-promise').default
const tape = require('tape')
const createClient = require('..')
const rawProfile = require('../p/bvg')
const raw = require('./fixtures/bvg-journey.json')
const expected = require('./fixtures/bvg-journey.js')
const test = tapePromise(tape)
const client = createClient(rawProfile, 'public-transport/hafas-client:test')
const {profile} = client
const opt = {
results: null,
via: null,
stopovers: true,
transfers: -1,
transferTime: 0,
accessibility: 'none',
bike: false,
tickets: true,
polylines: true,
remarks: true,
walkingSpeed: 'normal',
startWithWalking: true,
scheduledDays: true,
departure: '2019-08-18T14:03:50+02:00',
products: {}
}
test('parses a journey correctly (BVG)', (t) => {
const common = profile.parseCommon(profile, opt, raw)
const parseJourney = profile.parseJourney(profile, opt, common)
const journey = parseJourney(common.outConL[0])
t.deepEqual(journey, expected)
t.end()
})

32
test/bvg-radar.js Normal file
View file

@ -0,0 +1,32 @@
'use strict'
const tapePromise = require('tape-promise').default
const tape = require('tape')
const createClient = require('..')
const rawProfile = require('../p/bvg')
const raw = require('./fixtures/bvg-radar.json')
const expected = require('./fixtures/bvg-radar.js')
const test = tapePromise(tape)
const client = createClient(rawProfile, 'public-transport/hafas-client:test')
const {profile} = client
const opt = {
results: 256,
duration: 30,
frames: 3,
products: null,
polylines: true,
departure: '2019-08-19T21:00:00+02:00',
products: {}
}
test('parses a radar() response correctly (BVG)', (t) => {
const common = profile.parseCommon(profile, opt, raw)
const parseMovement = profile.parseMovement(profile, opt, common)
const movements = raw.jnyL.map(parseMovement)
t.deepEqual(movements, expected)
t.end()
})

1056
test/fixtures/bvg-journey.js vendored Normal file

File diff suppressed because it is too large Load diff

1233
test/fixtures/bvg-journey.json vendored Normal file

File diff suppressed because it is too large Load diff

2884
test/fixtures/bvg-radar.js vendored Normal file

File diff suppressed because it is too large Load diff

1332
test/fixtures/bvg-radar.json vendored Normal file

File diff suppressed because it is too large Load diff

2185
test/fixtures/vbb-departures.js vendored Normal file

File diff suppressed because it is too large Load diff

1344
test/fixtures/vbb-departures.json vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,9 @@
'use strict'
require('./bvg-journey')
require('./vbb-departures')
require('./bvg-radar')
require('./common')
require('./db')
require('./vbb')
@ -14,5 +18,6 @@ require('./saarfahrplan')
require('./cfl')
require('./hvv')
require('./db-busradar-nrw')
require('./throttle')
require('./retry')

33
test/vbb-departures.js Normal file
View file

@ -0,0 +1,33 @@
'use strict'
const tapePromise = require('tape-promise').default
const tape = require('tape')
const createClient = require('..')
const rawProfile = require('../p/vbb')
const raw = require('./fixtures/vbb-departures.json')
const expected = require('./fixtures/vbb-departures.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 a departure correctly (VBB)', (t) => {
const common = profile.parseCommon(profile, opt, raw)
const parseDeparture = profile.parseDeparture(profile, opt, common)
const departures = raw.jnyL.map(parseDeparture)
t.deepEqual(departures, expected)
t.end()
})