diff --git a/test/fixtures/bvg-journey.js b/test/fixtures/bvg-journey.js index 4e381a25..d8747005 100644 --- a/test/fixtures/bvg-journey.js +++ b/test/fixtures/bvg-journey.js @@ -31,8 +31,12 @@ module.exports = { regional: false } }, - departure: '2019-08-18T14:06:00+02:00', - arrival: '2019-08-18T14:16:00+02:00', + arrival: null, + plannedArrival: '2019-08-18T14:16:00+02:00', + arrivalDelay: null, + departure: null, + plannedDeparture: '2019-08-18T14:06:00+02:00', + departureDelay: null, public: true, walking: true, distance: 568 @@ -77,11 +81,13 @@ module.exports = { regional: true } }, - departure: '2019-08-18T14:16:00+02:00', arrival: '2019-08-18T14:29:00+02:00', - reachable: true, - departureDelay: 0, + plannedArrival: '2019-08-18T14:29:00+02:00', arrivalDelay: 0, + departure: '2019-08-18T14:16:00+02:00', + plannedDeparture: '2019-08-18T14:16:00+02:00', + departureDelay: 0, + reachable: true, polyline: { type: 'FeatureCollection', features: [ @@ -727,9 +733,11 @@ module.exports = { } }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, departure: '2019-08-18T14:16:00+02:00', + plannedDeparture: '2019-08-18T14:16:00+02:00', departureDelay: 0, departurePlatform: '1' }, @@ -755,9 +763,11 @@ module.exports = { } }, arrival: '2019-08-18T14:18:00+02:00', + plannedArrival: '2019-08-18T14:18:00+02:00', arrivalDelay: 0, arrivalPlatform: '11', departure: '2019-08-18T14:18:00+02:00', + plannedDeparture: '2019-08-18T14:18:00+02:00', departureDelay: 0, departurePlatform: '11' }, @@ -783,9 +793,11 @@ module.exports = { } }, arrival: '2019-08-18T14:19:00+02:00', + plannedArrival: '2019-08-18T14:19:00+02:00', arrivalDelay: 0, arrivalPlatform: '1', departure: '2019-08-18T14:20:00+02:00', + plannedDeparture: '2019-08-18T14:20:00+02:00', departureDelay: 0, departurePlatform: '1' }, @@ -811,9 +823,11 @@ module.exports = { } }, arrival: '2019-08-18T14:21:00+02:00', + plannedArrival: '2019-08-18T14:21:00+02:00', arrivalDelay: 0, arrivalPlatform: '11', departure: '2019-08-18T14:22:00+02:00', + plannedDeparture: '2019-08-18T14:22:00+02:00', departureDelay: 0, departurePlatform: '11' }, @@ -839,9 +853,11 @@ module.exports = { } }, arrival: '2019-08-18T14:24:00+02:00', + plannedArrival: '2019-08-18T14:24:00+02:00', arrivalDelay: 0, arrivalPlatform: '2', departure: '2019-08-18T14:24:00+02:00', + plannedDeparture: '2019-08-18T14:24:00+02:00', departureDelay: 0, departurePlatform: '2' }, @@ -867,9 +883,11 @@ module.exports = { } }, arrival: '2019-08-18T14:26:00+02:00', + plannedArrival: '2019-08-18T14:26:00+02:00', arrivalDelay: 0, arrivalPlatform: '1', departure: '2019-08-18T14:27:00+02:00', + plannedDeparture: '2019-08-18T14:27:00+02:00', departureDelay: 0, departurePlatform: '1' }, @@ -895,9 +913,11 @@ module.exports = { } }, arrival: '2019-08-18T14:29:00+02:00', + plannedArrival: '2019-08-18T14:29:00+02:00', arrivalDelay: 0, arrivalPlatform: '1', departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }], diff --git a/test/fixtures/bvg-radar.js b/test/fixtures/bvg-radar.js index f07cbbc1..e646e7d5 100644 --- a/test/fixtures/bvg-radar.js +++ b/test/fixtures/bvg-radar.js @@ -46,9 +46,11 @@ module.exports = [ } }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, - departure: '2019-08-19T20:26:00+02:00', + departure: null, + plannedDeparture: '2019-08-19T20:26:00+02:00', departureDelay: null, departurePlatform: null }, @@ -74,9 +76,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:30:00+02:00', + plannedArrival: '2019-08-19T20:29:00+02:00', arrivalDelay: 60, arrivalPlatform: null, departure: '2019-08-19T20:30:00+02:00', + plannedDeparture: '2019-08-19T20:29:00+02:00', departureDelay: 60, departurePlatform: null }, @@ -102,9 +106,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:34:00+02:00', + plannedArrival: '2019-08-19T20:31:00+02:00', arrivalDelay: 180, arrivalPlatform: null, departure: '2019-08-19T20:34:00+02:00', + plannedDeparture: '2019-08-19T20:31:00+02:00', departureDelay: 180, departurePlatform: null }, @@ -130,9 +136,11 @@ module.exports = [ } }, arrival: '2019-08-19T21:01:00+02:00', + plannedArrival: '2019-08-19T20:58:00+02:00', arrivalDelay: 180, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } @@ -406,9 +414,11 @@ module.exports = [ } }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, departure: '2019-08-19T19:57:00+02:00', + plannedDeparture: '2019-08-19T19:57:00+02:00', departureDelay: 0, departurePlatform: '13' }, @@ -434,9 +444,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:32:00+02:00', + plannedArrival: '2019-08-19T20:32:00+02:00', arrivalDelay: 0, arrivalPlatform: '4', departure: '2019-08-19T20:33:00+02:00', + plannedDeparture: '2019-08-19T20:33:00+02:00', departureDelay: 0, departurePlatform: '4' }, @@ -462,9 +474,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:34:00+02:00', + plannedArrival: '2019-08-19T20:34:00+02:00', arrivalDelay: 0, arrivalPlatform: '4', departure: '2019-08-19T20:35:00+02:00', + plannedDeparture: '2019-08-19T20:35:00+02:00', departureDelay: 0, departurePlatform: '4' }, @@ -490,9 +504,11 @@ module.exports = [ } }, arrival: '2019-08-19T21:07:00+02:00', + plannedArrival: '2019-08-19T21:07:00+02:00', arrivalDelay: 0, arrivalPlatform: '2', departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } @@ -766,9 +782,11 @@ module.exports = [ } }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, departure: '2019-08-19T20:17:00+02:00', + plannedDeparture: '2019-08-19T20:17:00+02:00', departureDelay: 0, departurePlatform: null }, @@ -794,9 +812,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:33:00+02:00', + plannedArrival: '2019-08-19T20:33:00+02:00', arrivalDelay: 0, arrivalPlatform: null, departure: '2019-08-19T20:33:00+02:00', + plannedDeparture: '2019-08-19T20:33:00+02:00', departureDelay: 0, departurePlatform: null }, @@ -822,9 +842,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:35:00+02:00', + plannedArrival: '2019-08-19T20:35:00+02:00', arrivalDelay: 0, arrivalPlatform: null, departure: '2019-08-19T20:35:00+02:00', + plannedDeparture: '2019-08-19T20:35:00+02:00', departureDelay: 0, departurePlatform: null }, @@ -850,9 +872,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:47:00+02:00', + plannedArrival: '2019-08-19T20:47:00+02:00', arrivalDelay: 0, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } @@ -1126,9 +1150,11 @@ module.exports = [ } }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, departure: '2019-08-19T20:08:00+02:00', + plannedDeparture: '2019-08-19T20:08:00+02:00', departureDelay: 0, departurePlatform: null }, @@ -1154,9 +1180,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:31:00+02:00', + plannedArrival: '2019-08-19T20:32:00+02:00', arrivalDelay: -60, arrivalPlatform: null, departure: '2019-08-19T20:31:00+02:00', + plannedDeparture: '2019-08-19T20:32:00+02:00', departureDelay: -60, departurePlatform: null }, @@ -1182,9 +1210,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:34:00+02:00', + plannedArrival: '2019-08-19T20:34:00+02:00', arrivalDelay: 0, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1210,9 +1240,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:34:00+02:00', + plannedArrival: '2019-08-19T20:34:00+02:00', arrivalDelay: 0, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } @@ -1486,9 +1518,11 @@ module.exports = [ } }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, departure: '2019-08-19T20:04:00+02:00', + plannedDeparture: '2019-08-19T20:04:00+02:00', departureDelay: 0, departurePlatform: null }, @@ -1514,9 +1548,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:32:00+02:00', + plannedArrival: '2019-08-19T20:31:00+02:00', arrivalDelay: 60, arrivalPlatform: null, departure: '2019-08-19T20:32:00+02:00', + plannedDeparture: '2019-08-19T20:31:00+02:00', departureDelay: 60, departurePlatform: null }, @@ -1542,9 +1578,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:34:00+02:00', + plannedArrival: '2019-08-19T20:33:00+02:00', arrivalDelay: 60, arrivalPlatform: null, departure: '2019-08-19T20:34:00+02:00', + plannedDeparture: '2019-08-19T20:33:00+02:00', departureDelay: 60, departurePlatform: null }, @@ -1570,9 +1608,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:46:00+02:00', + plannedArrival: '2019-08-19T20:45:00+02:00', arrivalDelay: 60, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } @@ -1846,9 +1886,11 @@ module.exports = [ } }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, - departure: '2019-08-19T20:25:00+02:00', + departure: null, + plannedDeparture: '2019-08-19T20:25:00+02:00', departureDelay: null, departurePlatform: null }, @@ -1874,9 +1916,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:33:00+02:00', + plannedArrival: '2019-08-19T20:30:00+02:00', arrivalDelay: 180, arrivalPlatform: null, departure: '2019-08-19T20:33:00+02:00', + plannedDeparture: '2019-08-19T20:30:00+02:00', departureDelay: 180, departurePlatform: null }, @@ -1902,9 +1946,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:36:00+02:00', + plannedArrival: '2019-08-19T20:33:00+02:00', arrivalDelay: 180, arrivalPlatform: null, departure: '2019-08-19T20:36:00+02:00', + plannedDeparture: '2019-08-19T20:33:00+02:00', departureDelay: 180, departurePlatform: null }, @@ -1930,9 +1976,11 @@ module.exports = [ } }, arrival: '2019-08-19T21:22:00+02:00', + plannedArrival: '2019-08-19T21:19:00+02:00', arrivalDelay: 180, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } @@ -2206,9 +2254,11 @@ module.exports = [ } }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, departure: '2019-08-19T19:39:00+02:00', + plannedDeparture: '2019-08-19T19:39:00+02:00', departureDelay: 0, departurePlatform: null }, @@ -2234,9 +2284,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:33:00+02:00', + plannedArrival: '2019-08-19T20:30:00+02:00', arrivalDelay: 180, arrivalPlatform: null, departure: '2019-08-19T20:33:00+02:00', + plannedDeparture: '2019-08-19T20:30:00+02:00', departureDelay: 180, departurePlatform: null }, @@ -2262,9 +2314,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:35:00+02:00', + plannedArrival: '2019-08-19T20:32:00+02:00', arrivalDelay: 180, arrivalPlatform: null, departure: '2019-08-19T20:35:00+02:00', + plannedDeparture: '2019-08-19T20:32:00+02:00', departureDelay: 180, departurePlatform: null }, @@ -2290,9 +2344,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:36:00+02:00', + plannedArrival: '2019-08-19T20:33:00+02:00', arrivalDelay: 180, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } @@ -2566,9 +2622,11 @@ module.exports = [ } }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, departure: '2019-08-19T19:59:00+02:00', + plannedDeparture: '2019-08-19T19:59:00+02:00', departureDelay: 0, departurePlatform: null }, @@ -2594,9 +2652,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:32:00+02:00', + plannedArrival: '2019-08-19T20:30:00+02:00', arrivalDelay: 120, arrivalPlatform: null, departure: '2019-08-19T20:32:00+02:00', + plannedDeparture: '2019-08-19T20:30:00+02:00', departureDelay: 120, departurePlatform: null }, @@ -2622,9 +2682,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:34:00+02:00', + plannedArrival: '2019-08-19T20:33:00+02:00', arrivalDelay: 60, arrivalPlatform: null, departure: '2019-08-19T20:34:00+02:00', + plannedDeparture: '2019-08-19T20:33:00+02:00', departureDelay: 60, departurePlatform: null }, @@ -2650,9 +2712,11 @@ module.exports = [ } }, arrival: '2019-08-19T20:55:00+02:00', + plannedArrival: '2019-08-19T20:54:00+02:00', arrivalDelay: 60, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } diff --git a/test/fixtures/db-rest-journey.json b/test/fixtures/db-rest-journey.json new file mode 100644 index 00000000..b8d1e01a --- /dev/null +++ b/test/fixtures/db-rest-journey.json @@ -0,0 +1,184 @@ +{ + "Trip": [ + { + "Eco": {}, + "ServiceDays": [ + { + "planningPeriodBegin": "2018-12-09", + "planningPeriodEnd": "2019-12-14", + "sDaysR": "täglich", + "sDaysB": "FFFFFFFFFFFFFFFFFFFFFF0001FFFC000000000000000007FFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0" + } + ], + "LegList": { + "Leg": [ + { + "Origin": { + "name": "Hildesheim Hbf", + "type": "ST", + "id": "A=1@O=Hildesheim Hbf@X=9953495@Y=52160627@U=80@L=8000169@", + "extId": "8000169", + "lon": 9.953495, + "lat": 52.160627, + "routeIdx": 6, + "prognosisType": "PROGNOSED", + "time": "17:44:00", + "date": "2019-08-23", + "tz": 120, + "track": "3", + "rtTime": "17:45:00", + "rtDate": "2019-08-23", + "rtTz": 120, + "rtBoarding": true + }, + "Destination": { + "name": "Hannover Hbf", + "type": "ST", + "id": "A=1@O=Hannover Hbf@X=9741017@Y=52376764@U=80@L=8000152@", + "extId": "8000152", + "lon": 9.741017, + "lat": 52.376764, + "routeIdx": 8, + "prognosisType": "PROGNOSED", + "time": "18:10:00", + "date": "2019-08-23", + "tz": 120, + "track": "2", + "rtTime": "18:11:00", + "rtDate": "2019-08-23", + "rtTz": 120, + "rtAlighting": true + }, + "Notes": { + "Note": [ + { + "value": "Fahrradmitnahme begrenzt möglich", + "key": "FB", + "type": "A", + "priority": 260, + "routeIdxFrom": 6, + "routeIdxTo": 8 + }, + { + "value": "Rollstuhlstellplatz", + "key": "RO", + "type": "A", + "priority": 560, + "routeIdxFrom": 6, + "routeIdxTo": 8 + } + ] + }, + "JourneyDetailRef": { + "ref": "1|272481|0|80|23082019" + }, + "JourneyStatus": "P", + "Product": { + "name": "erx83476", + "num": "83476", + "catOut": "erx", + "catIn": "DPN", + "catCode": "3", + "catOutS": "DPN", + "catOutL": "erixx", + "operatorCode": "DPN", + "operator": "erixx", + "admin": "X2____" + }, + "Polyline": { + "crd": [ + 9.953495, + 52.160627, + 9.842595, + 52.232604, + 9.741017, + 52.376764 + ], + "delta": false, + "dim": 2, + "type": "WGS84", + "crdEncS": "NNN" + }, + "Stops": { + "Stop": [ + { + "name": "Hildesheim Hbf", + "id": "A=1@O=Hildesheim Hbf@X=9953495@Y=52160627@U=80@L=8000169@", + "extId": "8000169", + "routeIdx": 6, + "lon": 9.953495, + "lat": 52.160627, + "depPrognosisType": "PROGNOSED", + "depTime": "17:44:00", + "depDate": "2019-08-23", + "depTz": 120, + "depTrack": "3", + "rtDepTime": "17:45:00", + "rtDepDate": "2019-08-23", + "rtBoarding": true + }, + { + "name": "Sarstedt", + "id": "A=1@O=Sarstedt@X=9842595@Y=52232604@U=80@L=8005292@", + "extId": "8005292", + "routeIdx": 7, + "lon": 9.842595, + "lat": 52.232604, + "arrPrognosisType": "PROGNOSED", + "depPrognosisType": "PROGNOSED", + "depTime": "17:56:00", + "depDate": "2019-08-23", + "depTz": 120, + "arrTime": "17:56:00", + "arrDate": "2019-08-23", + "arrTz": 120, + "arrTrack": "1", + "depTrack": "1", + "rtDepTime": "17:57:00", + "rtDepDate": "2019-08-23", + "rtArrTime": "17:57:00", + "rtArrDate": "2019-08-23", + "rtAlighting": true, + "rtBoarding": true + }, + { + "name": "Hannover Hbf", + "id": "A=1@O=Hannover Hbf@X=9741017@Y=52376764@U=80@L=8000152@", + "extId": "8000152", + "routeIdx": 8, + "lon": 9.741017, + "lat": 52.376764, + "arrPrognosisType": "PROGNOSED", + "arrTime": "18:10:00", + "arrDate": "2019-08-23", + "arrTz": 120, + "arrTrack": "2", + "rtArrTime": "18:11:00", + "rtArrDate": "2019-08-23", + "rtAlighting": true + } + ] + }, + "idx": 0, + "name": "erx83476", + "number": "83476", + "category": "DPN", + "type": "JNY", + "reachable": true, + "direction": "Hannover Hbf" + } + ] + }, + "idx": 0, + "tripId": "C-0", + "ctxRecon": "T$A=1@O=Hildesheim Hbf@L=8000169@a=128@$A=1@O=Hannover Hbf@L=8000152@a=128@$201908231744$201908231810$erx83476$$1$", + "duration": "PT26M", + "checksum": "d3b9a458_3" + } + ], + "scrB": "1|OB|MTµ11µ374024µ374024µ374050µ374050µ0µ0µ165µ374018µ1µ-2147482610µ0µ1µ2|PDHµ3abb7e01fc6c29145882f2d490780e90|RDµ23082019|RTµ173813", + "scrF": "1|OF|MTµ11µ374024µ374024µ374050µ374050µ0µ0µ165µ374018µ1µ-2147482610µ0µ1µ2|PDHµ3abb7e01fc6c29145882f2d490780e90|RDµ23082019|RTµ173813", + "serverVersion": "1.14", + "dialectVersion": "1.23", + "requestId": "1566574693925" +} diff --git a/test/fixtures/vbb-departures.js b/test/fixtures/vbb-departures.js index d6b536d8..9685abdd 100644 --- a/test/fixtures/vbb-departures.js +++ b/test/fixtures/vbb-departures.js @@ -180,6 +180,8 @@ module.exports = [ ] }, when: '2019-08-19T20:30:00+02:00', + plannedWhen: '2019-08-19T20:30:00+02:00', + delay: 0, direction: 'S+U Hermannstr.', line: { type: 'line', @@ -212,7 +214,6 @@ module.exports = [ text: 'Bicycle conveyance' } ], - delay: 0, platform: null, nextStopovers: [ { @@ -393,9 +394,11 @@ module.exports = [ ] }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, departure: '2019-08-19T20:30:00+02:00', + plannedDeparture: '2019-08-19T20:30:00+02:00', departureDelay: 0, departurePlatform: null }, @@ -421,10 +424,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:31:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:31:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -449,10 +454,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:33:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:33:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -477,10 +484,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:35:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:35:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -505,10 +514,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:36:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:36:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -533,10 +544,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:38:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:38:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -561,10 +574,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:40:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:40:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -589,10 +604,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:41:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:41:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -617,10 +634,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:42:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:42:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } @@ -805,6 +824,8 @@ module.exports = [ ] }, when: '2019-08-19T20:30:00+02:00', + plannedWhen: '2019-08-19T20:30:00+02:00', + delay: 0, direction: 'U Paracelsus-Bad', line: { type: 'line', @@ -837,7 +858,6 @@ module.exports = [ text: 'Bicycle conveyance' } ], - delay: 0, platform: null, nextStopovers: [ { @@ -1018,9 +1038,11 @@ module.exports = [ ] }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, departure: '2019-08-19T20:30:00+02:00', + plannedDeparture: '2019-08-19T20:30:00+02:00', departureDelay: 0, departurePlatform: null }, @@ -1045,10 +1067,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:32:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:32:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1073,10 +1097,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:34:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:34:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1101,10 +1127,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:35:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:35:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1129,10 +1157,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:37:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:37:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1157,10 +1187,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:38:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:38:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1185,10 +1217,12 @@ module.exports = [ regional: true } }, - arrival: '2019-08-19T20:40:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:40:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1213,10 +1247,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:41:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:41:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1241,10 +1277,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:43:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:43:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1269,10 +1307,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:45:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:45:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1297,10 +1337,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:46:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:46:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1325,10 +1367,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:47:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:47:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } @@ -1513,6 +1557,8 @@ module.exports = [ ] }, when: '2019-08-19T20:31:00+02:00', + plannedWhen: '2019-08-19T20:31:00+02:00', + delay: 0, direction: 'S Spandau', line: { type: 'line', @@ -1545,7 +1591,6 @@ module.exports = [ text: 'Bicycle conveyance' } ], - delay: 0, platform: '4', nextStopovers: [ { @@ -1726,9 +1771,11 @@ module.exports = [ ] }, arrival: null, + plannedArrival: null, arrivalDelay: null, arrivalPlatform: null, departure: '2019-08-19T20:31:00+02:00', + plannedDeparture: '2019-08-19T20:31:00+02:00', departureDelay: 0, departurePlatform: '4' }, @@ -1753,10 +1800,12 @@ module.exports = [ regional: true } }, - arrival: '2019-08-19T20:32:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:32:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1781,10 +1830,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:34:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:34:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1809,10 +1860,12 @@ module.exports = [ regional: true } }, - arrival: '2019-08-19T20:36:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:36:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1837,10 +1890,12 @@ module.exports = [ regional: true } }, - arrival: '2019-08-19T20:39:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:39:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1865,10 +1920,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:42:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:42:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1893,10 +1950,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:44:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:44:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1921,10 +1980,12 @@ module.exports = [ regional: true } }, - arrival: '2019-08-19T20:46:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:46:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1949,10 +2010,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:48:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:48:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -1977,10 +2040,12 @@ module.exports = [ regional: true } }, - arrival: '2019-08-19T20:50:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:50:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -2005,10 +2070,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:52:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:52:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -2033,10 +2100,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:54:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:54:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -2061,10 +2130,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:57:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:57:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -2089,10 +2160,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T20:59:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T20:59:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -2117,10 +2190,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T21:01:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T21:01:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -2145,10 +2220,12 @@ module.exports = [ regional: false } }, - arrival: '2019-08-19T21:05:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T21:05:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null }, @@ -2173,10 +2250,12 @@ module.exports = [ regional: true } }, - arrival: '2019-08-19T21:07:00+02:00', + arrival: null, + plannedArrival: '2019-08-19T21:07:00+02:00', arrivalDelay: null, arrivalPlatform: null, departure: null, + plannedDeparture: null, departureDelay: null, departurePlatform: null } diff --git a/test/lib/earlier-later-journeys.js b/test/lib/earlier-later-journeys.js index 80debcf8..7218c311 100644 --- a/test/lib/earlier-later-journeys.js +++ b/test/lib/earlier-later-journeys.js @@ -65,7 +65,7 @@ const testEarlierLaterJourneys = async (cfg) => { }) for (let j of earlier.journeys) { const firstLeg = j.legs[0] - const dep = new Date(firstLeg.departure || firstLeg.scheduledDeparture) + const dep = new Date(firstLeg.departure || firstLeg.plannedDeparture) t.ok(dep < earliestDep) } @@ -76,7 +76,7 @@ const testEarlierLaterJourneys = async (cfg) => { }) for (let j of later.journeys) { const firstLeg = j.legs[0] - const dep = new Date(firstLeg.departure || firstLeg.scheduledDeparture) + const dep = new Date(firstLeg.departure || firstLeg.plannedDeparture) t.ok(dep > latestDep) } } diff --git a/test/lib/refresh-journey.js b/test/lib/refresh-journey.js index ea60306a..383bb4b1 100644 --- a/test/lib/refresh-journey.js +++ b/test/lib/refresh-journey.js @@ -1,21 +1,11 @@ 'use strict' const simplify = j => j.legs.map(l => { - let departure = null - if (l.departure) { - departure = +new Date(l.departure) - if ('number' === typeof l.departureDelay) departure -= l.departureDelay * 1000 - } - let arrival = null - if (l.arrival) { - arrival = +new Date(l.arrival) - if ('number' === typeof l.arrivalDelay) arrival -= l.arrivalDelay * 1000 - } return { origin: l.origin, destination: l.destination, - scheduledDeparture: departure, - scheduledArrival: arrival, + departure: l.plannedDeparture || l.departure, + arrival: l.plannedArrival || l.arrival, line: l.line } }) diff --git a/test/lib/validators.js b/test/lib/validators.js index a7063eba..71ab4ff3 100644 --- a/test/lib/validators.js +++ b/test/lib/validators.js @@ -100,6 +100,13 @@ const createValidateLine = (cfg) => { const createValidateStopover = (cfg) => { const validateStopover = (val, s, name = 'stopover') => { + if ( + !is(s.arrival) && !is(s.departure) && + !is(s.plannedArrival) && !is(s.plannedDeparture) + ) { + a.fail(name + ' contains neither (planned)arrival nor (planned)departure') + } + if (is(s.arrival)) { val.date(val, s.arrival, name + '.arrival') assertValidWhen(s.arrival, cfg.when, name + '.arrival') @@ -108,17 +115,26 @@ const createValidateStopover = (cfg) => { val.date(val, s.departure, name + '.departure') assertValidWhen(s.departure, cfg.when, name + '.departure') } - if (!is(s.arrival) && !is(s.departure)) { - a.fail(name + ' contains neither arrival nor departure') + if (is(s.plannedArrival)) { + val.date(val, s.plannedArrival, name + '.plannedArrival') + assertValidWhen(s.plannedArrival, cfg.when, name + '.plannedArrival') + } + if (is(s.plannedDeparture)) { + val.date(val, s.plannedDeparture, name + '.plannedDeparture') + assertValidWhen(s.plannedDeparture, cfg.when, name + '.plannedDeparture') } if (is(s.arrivalDelay)) { const msg = name + '.arrivalDelay must be a number' a.strictEqual(typeof s.arrivalDelay, 'number', msg) + const d = new Date(s.arrival) - new Date(s.plannedArrival) + a.strictEqual(Math.round(d / 1000), s.arrivalDelay) } if (is(s.departureDelay)) { const msg = name + '.departureDelay must be a number' a.strictEqual(typeof s.departureDelay, 'number', msg) + const d = new Date(s.departure) - new Date(s.plannedDeparture) + a.strictEqual(Math.round(d / 1000), s.departureDelay) } if (is(s.arrivalPlatform)) {