From d6d4408ed4b3769e796d3e4173d9d039f42ee210 Mon Sep 17 00:00:00 2001 From: arielvino <71963953+arielvino@users.noreply.github.com> Date: Mon, 27 Jul 2026 11:59:42 +0300 Subject: [PATCH 1/2] fix bug --- open_bus_stride_api/routers/gtfs_rides.py | 2 +- tests/test_routers.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/open_bus_stride_api/routers/gtfs_rides.py b/open_bus_stride_api/routers/gtfs_rides.py index e7f074e..0da73d4 100644 --- a/open_bus_stride_api/routers/gtfs_rides.py +++ b/open_bus_stride_api/routers/gtfs_rides.py @@ -61,7 +61,7 @@ def _post_session_query_hook(session_query): ), common.RouteParam( 'start_time_to', datetime.datetime, common.DocParam('start time to', filter_type='datetime_to'), - {'type': 'datetime_to', 'field': model.GtfsRide.end_time}, + {'type': 'datetime_to', 'field': model.GtfsRide.start_time}, ), ] diff --git a/tests/test_routers.py b/tests/test_routers.py index 513aa5a..a036279 100644 --- a/tests/test_routers.py +++ b/tests/test_routers.py @@ -32,6 +32,25 @@ def test_gtfs_rides(client): ) +def test_gtfs_rides_start_time_to_filters_on_start_time(client): + # regression: start_time_to used to filter on end_time, so rides which started + # inside the requested range but ended after it were missing from the results + items = common.assert_router_list(client, '/gtfs_rides/list') + ride = next( + (i for i in items if i['start_time'] and i['end_time'] and i['end_time'] > i['start_time']), + None + ) + assert ride, 'no gtfs ride which ends later than it starts to test with' + res = client.get('/gtfs_rides/list', params={ + 'gtfs_route_id': ride['gtfs_route_id'], + 'start_time_from': ride['start_time'], + 'start_time_to': ride['start_time'], + }) + assert res.status_code == 200 + assert ride['id'] in [i['id'] for i in res.json()], \ + 'ride which starts exactly at start_time_to but ends after it was filtered out' + + def test_gtfs_routes(client): common.assert_router_list_get( client, '/gtfs_routes', From 1f63a2335e15b27bd9b9453e5c774e651ab87595 Mon Sep 17 00:00:00 2001 From: Ariel Vinograd <71963953+arielvino@users.noreply.github.com> Date: Wed, 19 Aug 2026 10:41:29 +0300 Subject: [PATCH 2/2] Delete test for start_time_to filtering Remove test for filtering GTFS rides based on start time. --- tests/test_routers.py | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/tests/test_routers.py b/tests/test_routers.py index a036279..513aa5a 100644 --- a/tests/test_routers.py +++ b/tests/test_routers.py @@ -32,25 +32,6 @@ def test_gtfs_rides(client): ) -def test_gtfs_rides_start_time_to_filters_on_start_time(client): - # regression: start_time_to used to filter on end_time, so rides which started - # inside the requested range but ended after it were missing from the results - items = common.assert_router_list(client, '/gtfs_rides/list') - ride = next( - (i for i in items if i['start_time'] and i['end_time'] and i['end_time'] > i['start_time']), - None - ) - assert ride, 'no gtfs ride which ends later than it starts to test with' - res = client.get('/gtfs_rides/list', params={ - 'gtfs_route_id': ride['gtfs_route_id'], - 'start_time_from': ride['start_time'], - 'start_time_to': ride['start_time'], - }) - assert res.status_code == 200 - assert ride['id'] in [i['id'] for i in res.json()], \ - 'ride which starts exactly at start_time_to but ends after it was filtered out' - - def test_gtfs_routes(client): common.assert_router_list_get( client, '/gtfs_routes',