diff --git a/test/jsonSnapshots/genericEtaDataBySystemId.ts b/test/jsonSnapshots/genericEtaDataBySystemId.ts new file mode 100644 index 0000000..3b603c7 --- /dev/null +++ b/test/jsonSnapshots/genericEtaDataBySystemId.ts @@ -0,0 +1,115 @@ +// Snapshot taken from the Passio GO! API +export const genericEtaDataByStopId = { + "ETAs": { + "177666": [ + { + "OOS": 0, + "busName": "08", + "distance": 1, + "speed": 10.028535400123669, + "routeBlockId": "142270", + "actualRouteBlockId": "142270", + "arrived": null, + "eta": "10 min ", + "color": "#000000", + "bg": "#ffea3f", + "order": 0, + "dwell": null, + "stopsAmount": 2, + "secondsSpent": 587, + "etaR": "10", + "error": null, + "outdated": 0, + "routeId": "53966", + "serviceTime": "", + "scheduleTimes": [], + "goShowSchedule": 0, + "looping": "1", + "routeGroupId": "6703", + "busId": 5577, + "tripId": 751430, + "deviceId": 402840, + "created": "2025-01-07 15:00:09", + "routePointPosition": 6, + "routeStopPosition": 1, + "stopRoutePointPosition": 217, + "timezoneOffset": -10800, + "busLatLng": [ + 33.7933406, + -117.8539321 + ], + "busProjectionLatlng": { + "lat": 33.79331052666975, + "lng": -117.85392945849208 + }, + "busProjectionError": 3, + "stopId": "177666", + "theStop": { + "name": "Chapman Court", + "position": 3, + "userId": "263", + "routeStopId": "1348785", + "busId": 5577, + "routeName": "Red Route", + "shortName": null, + "routeId": "53966", + "stopId": "177666" + } + }, + { + "OOS": 0, + "busName": "07", + "distance": 1, + "speed": 12.160256921380398, + "routeBlockId": "142270", + "actualRouteBlockId": "142270", + "arrived": null, + "eta": "11 min ", + "color": "#000000", + "bg": "#ffea3f", + "order": 0, + "dwell": null, + "stopsAmount": 2, + "secondsSpent": 635, + "etaR": "11", + "error": null, + "outdated": 0, + "routeId": "53966", + "serviceTime": "", + "scheduleTimes": [], + "goShowSchedule": 0, + "looping": "1", + "routeGroupId": "6703", + "busId": 5576, + "tripId": 751430, + "deviceId": 441065, + "created": "2025-01-07 15:00:10", + "routePointPosition": 448, + "routeStopPosition": 4, + "stopRoutePointPosition": 217, + "timezoneOffset": -10800, + "busLatLng": [ + 33.7933284, + -117.855132 + ], + "busProjectionLatlng": { + "lat": 33.79332033922653, + "lng": -117.85513217762522 + }, + "busProjectionError": 1, + "stopId": "177666", + "theStop": { + "name": "Chapman Court", + "position": 3, + "userId": "263", + "routeStopId": "1348785", + "busId": 5576, + "routeName": "Red Route", + "shortName": null, + "routeId": "53966", + "stopId": "177666" + } + }, + ] + }, +} diff --git a/test/jsonSnapshots/genericShuttleDataBySystemId.ts b/test/jsonSnapshots/genericShuttleDataBySystemId.ts new file mode 100644 index 0000000..04edca6 --- /dev/null +++ b/test/jsonSnapshots/genericShuttleDataBySystemId.ts @@ -0,0 +1,106 @@ +// Snapshot taken from the Passio GO! API +export const genericShuttleDataBySystemId = { + "alertCRC": "23c1b91c", + "buses": { + "402840": [ + { + "deviceId": 402840, + "created": "08:24 PM", + "createdTime": "08:24 PM", + "paxLoad": 0, + "bus": "08", + "busId": 5577, + "userId": "263", + "routeBlockId": "142270", + "latitude": "33.791781800", + "longitude": "-117.858964600", + "calculatedCourse": "351.796001302109", + "outOfService": 0, + "more": "102", + "totalCap": 20, + "color": "#d62728", + "busName": "08", + "busType": "", + "routeId": "53966", + "route": "Red Route", + "outdated": 0 + } + ], + "404873": [ + { + "deviceId": 404873, + "created": "08:24 PM", + "createdTime": "08:24 PM", + "paxLoad": 0, + "bus": "10", + "busId": 7105, + "userId": "263", + "routeBlockId": "142270", + "latitude": "33.789331300", + "longitude": "-117.888790600", + "calculatedCourse": "76.005762226701", + "outOfService": 0, + "more": "101", + "totalCap": 20, + "color": "#d62728", + "busName": "10", + "busType": "", + "routeId": "53966", + "route": "Red Route", + "outdated": 0 + } + ], + "421421": [ + { + "deviceId": 421421, + "created": "08:24 PM", + "createdTime": "08:24 PM", + "paxLoad": 0, + "bus": "17", + "busId": 12502, + "userId": "263", + "routeBlockId": "142660", + "latitude": "33.790699500", + "longitude": "-117.890385500", + "calculatedCourse": "10.65684824528148", + "outOfService": 0, + "more": "101", + "totalCap": 32, + "color": "#bd9e39", + "busName": "17", + "busType": "Shuttle Bus", + "routeId": "54256", + "route": "Gold Route", + "outdated": 0 + } + ], + "441065": [ + { + "deviceId": 441065, + "created": "08:19 PM", + "createdTime": "08:19 PM", + "paxLoad": 0, + "bus": "07", + "busId": 5576, + "userId": "263", + "routeBlockId": "142270", + "latitude": "33.793278900", + "longitude": "-117.852629400", + "calculatedCourse": "299.74488110904485", + "outOfService": 0, + "more": "22", + "totalCap": 20, + "color": "#d62728", + "busName": "07", + "busType": "", + "routeId": "53966", + "route": "Red Route", + "outdated": 0 + } + ] + }, + "microtime": 0.023222923278808594, + "time": { + "263": "08:24 PM" + } +}; diff --git a/test/repositories/ApiBasedRepositoryTests.test.ts b/test/repositories/ApiBasedRepositoryTests.test.ts index 90c82f3..28cbdfd 100644 --- a/test/repositories/ApiBasedRepositoryTests.test.ts +++ b/test/repositories/ApiBasedRepositoryTests.test.ts @@ -5,6 +5,8 @@ import { ApiBasedRepositoryMillisecondTTLs } from "../../src/repositories/ApiBasedRepository"; import { IEta, IShuttle, IStop } from "../../src/entities/entities"; +import { genericEtaDataByStopId } from "../jsonSnapshots/genericEtaDataBySystemId"; +import { genericShuttleDataBySystemId } from "../jsonSnapshots/genericShuttleDataBySystemId"; /** * Update the global fetch function to return a specific object. @@ -31,226 +33,6 @@ beforeEach(() => { resetGlobalFetchMockJson(); }) -// Snapshots taken from the Passio GO! API -const genericEtaDataByStopId = { - "ETAs": { - "177666": [ - { - "OOS": 0, - "busName": "08", - "distance": 1, - "speed": 10.028535400123669, - "routeBlockId": "142270", - "actualRouteBlockId": "142270", - "arrived": null, - "eta": "10 min ", - "color": "#000000", - "bg": "#ffea3f", - "order": 0, - "dwell": null, - "stopsAmount": 2, - "secondsSpent": 587, - "etaR": "10", - "error": null, - "outdated": 0, - "routeId": "53966", - "serviceTime": "", - "scheduleTimes": [], - "goShowSchedule": 0, - "looping": "1", - "routeGroupId": "6703", - "busId": 5577, - "tripId": 751430, - "deviceId": 402840, - "created": "2025-01-07 15:00:09", - "routePointPosition": 6, - "routeStopPosition": 1, - "stopRoutePointPosition": 217, - "timezoneOffset": -10800, - "busLatLng": [ - 33.7933406, - -117.8539321 - ], - "busProjectionLatlng": { - "lat": 33.79331052666975, - "lng": -117.85392945849208 - }, - "busProjectionError": 3, - "stopId": "177666", - "theStop": { - "name": "Chapman Court", - "position": 3, - "userId": "263", - "routeStopId": "1348785", - "busId": 5577, - "routeName": "Red Route", - "shortName": null, - "routeId": "53966", - "stopId": "177666" - } - }, - { - "OOS": 0, - "busName": "07", - "distance": 1, - "speed": 12.160256921380398, - "routeBlockId": "142270", - "actualRouteBlockId": "142270", - "arrived": null, - "eta": "11 min ", - "color": "#000000", - "bg": "#ffea3f", - "order": 0, - "dwell": null, - "stopsAmount": 2, - "secondsSpent": 635, - "etaR": "11", - "error": null, - "outdated": 0, - "routeId": "53966", - "serviceTime": "", - "scheduleTimes": [], - "goShowSchedule": 0, - "looping": "1", - "routeGroupId": "6703", - "busId": 5576, - "tripId": 751430, - "deviceId": 441065, - "created": "2025-01-07 15:00:10", - "routePointPosition": 448, - "routeStopPosition": 4, - "stopRoutePointPosition": 217, - "timezoneOffset": -10800, - "busLatLng": [ - 33.7933284, - -117.855132 - ], - "busProjectionLatlng": { - "lat": 33.79332033922653, - "lng": -117.85513217762522 - }, - "busProjectionError": 1, - "stopId": "177666", - "theStop": { - "name": "Chapman Court", - "position": 3, - "userId": "263", - "routeStopId": "1348785", - "busId": 5576, - "routeName": "Red Route", - "shortName": null, - "routeId": "53966", - "stopId": "177666" - } - }, - ] - }, -} -const genericShuttleDataBySystemId = { - "alertCRC": "23c1b91c", - "buses": { - "402840": [ - { - "deviceId": 402840, - "created": "08:24 PM", - "createdTime": "08:24 PM", - "paxLoad": 0, - "bus": "08", - "busId": 5577, - "userId": "263", - "routeBlockId": "142270", - "latitude": "33.791781800", - "longitude": "-117.858964600", - "calculatedCourse": "351.796001302109", - "outOfService": 0, - "more": "102", - "totalCap": 20, - "color": "#d62728", - "busName": "08", - "busType": "", - "routeId": "53966", - "route": "Red Route", - "outdated": 0 - } - ], - "404873": [ - { - "deviceId": 404873, - "created": "08:24 PM", - "createdTime": "08:24 PM", - "paxLoad": 0, - "bus": "10", - "busId": 7105, - "userId": "263", - "routeBlockId": "142270", - "latitude": "33.789331300", - "longitude": "-117.888790600", - "calculatedCourse": "76.005762226701", - "outOfService": 0, - "more": "101", - "totalCap": 20, - "color": "#d62728", - "busName": "10", - "busType": "", - "routeId": "53966", - "route": "Red Route", - "outdated": 0 - } - ], - "421421": [ - { - "deviceId": 421421, - "created": "08:24 PM", - "createdTime": "08:24 PM", - "paxLoad": 0, - "bus": "17", - "busId": 12502, - "userId": "263", - "routeBlockId": "142660", - "latitude": "33.790699500", - "longitude": "-117.890385500", - "calculatedCourse": "10.65684824528148", - "outOfService": 0, - "more": "101", - "totalCap": 32, - "color": "#bd9e39", - "busName": "17", - "busType": "Shuttle Bus", - "routeId": "54256", - "route": "Gold Route", - "outdated": 0 - } - ], - "441065": [ - { - "deviceId": 441065, - "created": "08:19 PM", - "createdTime": "08:19 PM", - "paxLoad": 0, - "bus": "07", - "busId": 5576, - "userId": "263", - "routeBlockId": "142270", - "latitude": "33.793278900", - "longitude": "-117.852629400", - "calculatedCourse": "299.74488110904485", - "outOfService": 0, - "more": "22", - "totalCap": 20, - "color": "#d62728", - "busName": "07", - "busType": "", - "routeId": "53966", - "route": "Red Route", - "outdated": 0 - } - ] - }, - "microtime": 0.023222923278808594, - "time": { - "263": "08:24 PM" - } -} describe("getEtaForShuttleAndStopId", () => { test("getEtaForShuttleAndStopId returns correct ETA data", async () => {