mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-23 15:19:35 +02:00
journeys from station to station test: use helper fn
This commit is contained in:
parent
279dfa4f8f
commit
63e303b6f8
6 changed files with 84 additions and 48 deletions
17
test/db.js
17
test/db.js
|
@ -15,6 +15,7 @@ const {
|
|||
station: createValidateStation
|
||||
} = require('./lib/validators')
|
||||
const createValidate = require('./lib/validate-fptf-with')
|
||||
const testJourneysStationToStation = require('./lib/journeys-station-to-station')
|
||||
|
||||
const isObj = o => o !== null && 'object' === typeof o && !Array.isArray(o)
|
||||
|
||||
|
@ -60,18 +61,26 @@ const client = createClient(dbProfile)
|
|||
const berlinHbf = '8011160'
|
||||
const münchenHbf = '8000261'
|
||||
const jungfernheide = '8011167'
|
||||
const blnSchwedterStr = '732652'
|
||||
const atze = '991598902'
|
||||
const westhafen = '008089116'
|
||||
const wedding = '008089131'
|
||||
const württembergallee = '731084'
|
||||
const regensburgHbf = '8000309'
|
||||
|
||||
test('Berlin Jungfernheide to München Hbf', co(function* (t) {
|
||||
const journeys = yield client.journeys(jungfernheide, münchenHbf, {
|
||||
when, passedStations: true
|
||||
test('journeys – Berlin Schwedter Str. to München Hbf', co(function* (t) {
|
||||
const journeys = yield client.journeys(blnSchwedterStr, münchenHbf, {
|
||||
results: 3, when, passedStations: true
|
||||
})
|
||||
|
||||
validate(t, journeys, 'journeys', 'journeys')
|
||||
yield testJourneysStationToStation({
|
||||
test: t,
|
||||
journeys,
|
||||
validate,
|
||||
fromId: blnSchwedterStr,
|
||||
toId: münchenHbf
|
||||
})
|
||||
// todo: find a journey where there pricing info is always available
|
||||
for (let journey of journeys) {
|
||||
if (journey.price) assertValidPrice(t, journey.price)
|
||||
}
|
||||
|
|
21
test/insa.js
21
test/insa.js
|
@ -10,6 +10,7 @@ const createClient = require('..')
|
|||
const insaProfile = require('../p/insa')
|
||||
const products = require('../p/insa/products')
|
||||
const createValidate = require('./lib/validate-fptf-with')
|
||||
const testJourneysStationToStation = require('./lib/journeys-station-to-station')
|
||||
|
||||
const isObj = o => o !== null && 'object' === typeof o && !Array.isArray(o)
|
||||
|
||||
|
@ -32,20 +33,18 @@ const hasselbachplatzSternstrasse = '000006545'
|
|||
const stendal = '008010334'
|
||||
const dessau = '008010077'
|
||||
|
||||
test('Magdeburg Hbf to Magdeburg-Buckau', co(function*(t) {
|
||||
test('journeys – Magdeburg Hbf to Magdeburg-Buckau', co(function* (t) {
|
||||
const journeys = yield client.journeys(magdeburgHbf, magdeburgBuckau, {
|
||||
when,
|
||||
passedStations: true
|
||||
results: 3, when, passedStations: true
|
||||
})
|
||||
|
||||
validate(t, journeys, 'journeys', 'journeys')
|
||||
|
||||
for (let j of journeys) {
|
||||
const firstLeg = j.legs[0]
|
||||
const lastLeg = j.legs[j.legs.length - 1]
|
||||
t.strictEqual(firstLeg.origin.id, magdeburgHbf)
|
||||
t.strictEqual(lastLeg.destination.id, magdeburgBuckau)
|
||||
}
|
||||
yield testJourneysStationToStation({
|
||||
test: t,
|
||||
journeys,
|
||||
validate,
|
||||
fromId: magdeburgHbf,
|
||||
toId: magdeburgBuckau
|
||||
})
|
||||
t.end()
|
||||
}))
|
||||
|
||||
|
|
20
test/lib/journeys-station-to-station.js
Normal file
20
test/lib/journeys-station-to-station.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
'use strict'
|
||||
|
||||
const co = require('./co')
|
||||
|
||||
const testJourneysStationToStation = co(function* (cfg) {
|
||||
const {test: t, journeys, validate, fromId, toId} = cfg
|
||||
|
||||
validate(t, journeys, 'journeys', 'journeys')
|
||||
t.strictEqual(journeys.length, 3)
|
||||
for (let i = 0; i < journeys.length; i++) {
|
||||
const j = journeys[i]
|
||||
|
||||
const firstLeg = j.legs[0]
|
||||
const lastLeg = j.legs[j.legs.length - 1]
|
||||
t.strictEqual(firstLeg.origin.id, fromId)
|
||||
t.strictEqual(lastLeg.destination.id, toId)
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = testJourneysStationToStation
|
|
@ -14,6 +14,7 @@ const {
|
|||
station: createValidateStation
|
||||
} = require('./lib/validators')
|
||||
const createValidate = require('./lib/validate-fptf-with')
|
||||
const testJourneysStationToStation = require('./lib/journeys-station-to-station')
|
||||
|
||||
const when = createWhen('Europe/Berlin', 'de-DE')
|
||||
|
||||
|
@ -60,24 +61,25 @@ const luebeckHbf = '8000237'
|
|||
const husum = '8000181'
|
||||
const schleswig = '8005362'
|
||||
|
||||
test('Kiel Hbf to Flensburg', co(function* (t) {
|
||||
test('journeys – Kiel Hbf to Flensburg', co(function* (t) {
|
||||
const journeys = yield client.journeys(kielHbf, flensburg, {
|
||||
when, passedStations: true, results: 3
|
||||
results: 3, when, passedStations: true
|
||||
})
|
||||
|
||||
yield testJourneysStationToStation({
|
||||
test: t,
|
||||
journeys,
|
||||
validate,
|
||||
fromId: kielHbf,
|
||||
toId: flensburg
|
||||
})
|
||||
|
||||
validate(t, journeys, 'journeys', 'journeys')
|
||||
t.strictEqual(journeys.length, 3)
|
||||
for (let i = 0; i < journeys.length; i++) {
|
||||
const j = journeys[i]
|
||||
|
||||
const firstLeg = j.legs[0]
|
||||
const lastLeg = j.legs[j.legs.length - 1]
|
||||
t.strictEqual(firstLeg.origin.id, kielHbf)
|
||||
t.strictEqual(lastLeg.destination.id, flensburg)
|
||||
|
||||
// todo: find a journey where there pricing info is always available
|
||||
if (j.price) assertValidPrice(t, j.price)
|
||||
if (j.price) assertValidPrice(t, j.price, `journeys[${i}].price`)
|
||||
}
|
||||
|
||||
t.end()
|
||||
}))
|
||||
|
||||
|
|
24
test/oebb.js
24
test/oebb.js
|
@ -14,6 +14,7 @@ const {
|
|||
station: createValidateStation
|
||||
} = require('./lib/validators')
|
||||
const createValidate = require('./lib/validate-fptf-with')
|
||||
const testJourneysStationToStation = require('./lib/journeys-station-to-station')
|
||||
|
||||
const when = createWhen('Europe/Vienna', 'de-AT')
|
||||
|
||||
|
@ -45,20 +46,29 @@ const test = tapePromise(tape)
|
|||
const client = createClient(oebbProfile)
|
||||
|
||||
const salzburgHbf = '8100002'
|
||||
const wienWestbahnhof = '1291501'
|
||||
const wienFickeystr = '911014'
|
||||
const wien = '1190100'
|
||||
const wienWestbahnhof = '1291501'
|
||||
const klagenfurtHbf = '8100085'
|
||||
const muenchenHbf = '8000261'
|
||||
const wienRenngasse = '1390186'
|
||||
|
||||
test('Salzburg Hbf to Wien Westbahnhof', co(function* (t) {
|
||||
const journeys = yield client.journeys(salzburgHbf, wienWestbahnhof, {
|
||||
when, passedStations: true
|
||||
test('journeys – Salzburg Hbf to Wien Westbahnhof', co(function* (t) {
|
||||
const journeys = yield client.journeys(salzburgHbf, wienFickeystr, {
|
||||
results: 3, when, passedStations: true
|
||||
})
|
||||
|
||||
validate(t, journeys, 'journeys', 'journeys')
|
||||
for (let journey of journeys) {
|
||||
if (journey.price) assertValidPrice(t, journey.price)
|
||||
yield testJourneysStationToStation({
|
||||
test: t,
|
||||
journeys,
|
||||
validate,
|
||||
fromId: salzburgHbf,
|
||||
toId: wienFickeystr
|
||||
})
|
||||
|
||||
for (let i = 0; i < journeys.length; i++) {
|
||||
const j = journeys[i]
|
||||
if (j.price) assertValidPrice(t, j.price, `journeys[${i}].price`)
|
||||
}
|
||||
|
||||
t.end()
|
||||
|
|
26
test/vbb.js
26
test/vbb.js
|
@ -20,8 +20,7 @@ const {
|
|||
movement: _validateMovement
|
||||
} = require('./lib/validators')
|
||||
const createValidate = require('./lib/validate-fptf-with')
|
||||
|
||||
const isObj = o => o !== null && 'object' === typeof o && !Array.isArray(o)
|
||||
const testJourneysStationToStation = require('./lib/journeys-station-to-station')
|
||||
|
||||
const when = createWhen('Europe/Berlin', 'de-DE')
|
||||
|
||||
|
@ -106,23 +105,20 @@ const württembergallee = '900000026153'
|
|||
const berlinerStr = '900000044201'
|
||||
const landhausstr = '900000043252'
|
||||
|
||||
test('journeys – station to station', co(function* (t) {
|
||||
const journeys = yield client.journeys(spichernstr, amrumerStr, {
|
||||
test('journeys – Spichernstr. to Bismarckstr.', co(function* (t) {
|
||||
const journeys = yield client.journeys(spichernstr, bismarckstr, {
|
||||
results: 3, when, passedStations: true
|
||||
})
|
||||
|
||||
validate(t, journeys, 'journeys', 'journeys')
|
||||
t.strictEqual(journeys.length, 3)
|
||||
for (let i = 0; i < journeys.length; i++) {
|
||||
const j = journeys[i]
|
||||
|
||||
const firstLeg = j.legs[0]
|
||||
const lastLeg = j.legs[j.legs.length - 1]
|
||||
t.strictEqual(firstLeg.origin.id, spichernstr)
|
||||
t.strictEqual(lastLeg.destination.id, amrumerStr)
|
||||
|
||||
yield testJourneysStationToStation({
|
||||
test: t,
|
||||
journeys,
|
||||
validate,
|
||||
fromId: spichernstr,
|
||||
toId: bismarckstr
|
||||
})
|
||||
// todo: find a journey where there ticket info is always available
|
||||
}
|
||||
|
||||
t.end()
|
||||
}))
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue