aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/chouette/vehicle_journey.rb2
-rw-r--r--spec/models/chouette/vehicle_journey_spec.rb29
2 files changed, 30 insertions, 1 deletions
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb
index 44dd85864..3a5851310 100644
--- a/app/models/chouette/vehicle_journey.rb
+++ b/app/models/chouette/vehicle_journey.rb
@@ -256,7 +256,7 @@ module Chouette
.where(
%Q(
"vehicle_journey_at_stops"."departure_time" >= ?
- AND "vehicle_journey_at_stops"."departure_time" < ?
+ AND "vehicle_journey_at_stops"."departure_time" <= ?
#{
if allow_empty
'OR "vehicle_journey_at_stops"."id" IS NULL'
diff --git a/spec/models/chouette/vehicle_journey_spec.rb b/spec/models/chouette/vehicle_journey_spec.rb
index 5a142d65d..599efe683 100644
--- a/spec/models/chouette/vehicle_journey_spec.rb
+++ b/spec/models/chouette/vehicle_journey_spec.rb
@@ -404,6 +404,35 @@ describe Chouette::VehicleJourney, :type => :model do
.to_a
).to eq([journey])
end
+
+ it "uses an inclusive range" do
+ journey_early = create(
+ :vehicle_journey,
+ stop_departure_time: '03:00:00'
+ )
+
+ route = journey_early.route
+ journey_pattern = journey_early.journey_pattern
+
+ journey_late = create(
+ :vehicle_journey,
+ route: route,
+ journey_pattern: journey_pattern,
+ stop_departure_time: '04:00:00'
+ )
+
+ expect(route
+ .vehicle_journeys
+ .select('DISTINCT "vehicle_journeys".*')
+ .joins('
+ LEFT JOIN "vehicle_journey_at_stops"
+ ON "vehicle_journey_at_stops"."vehicle_journey_id" =
+ "vehicle_journeys"."id"
+ ')
+ .where_departure_time_between('03:00', '04:00', allow_empty: true)
+ .to_a
+ ).to eq([journey_early, journey_late])
+ end
end
describe ".without_time_tables" do