aboutsummaryrefslogtreecommitdiffstats
path: root/spec/models
diff options
context:
space:
mode:
authorMichel Etienne2014-09-10 16:01:00 +0200
committerMichel Etienne2014-09-10 16:01:00 +0200
commitcd591d22126430fd9c1a132862067ce2528a917f (patch)
tree0363ffe2b7f015f6085caa60009657d636efef52 /spec/models
parent298a091329613f2515da94f99678157e75c07063 (diff)
downloadchouette-core-cd591d22126430fd9c1a132862067ce2528a917f.tar.bz2
export vehicle journeys with all time tables definition in a zip
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/vehicle_journey_export_spec.rb85
1 files changed, 85 insertions, 0 deletions
diff --git a/spec/models/vehicle_journey_export_spec.rb b/spec/models/vehicle_journey_export_spec.rb
new file mode 100644
index 000000000..5ce3b9bfc
--- /dev/null
+++ b/spec/models/vehicle_journey_export_spec.rb
@@ -0,0 +1,85 @@
+# -*- coding: utf-8 -*-
+require 'spec_helper'
+
+describe VehicleJourneyExport do
+
+ let!(:route) { create(:route) }
+ let!(:other_route) { create(:route) }
+
+ let!(:journey_pattern) { create(:journey_pattern, :route => route) }
+ let!(:other_journey_pattern) { create(:journey_pattern_even, :route => route) }
+
+ let!(:vehicle_journey1) { create(:vehicle_journey_common, :objectid => "export:VehicleJourney:1", :route_id => route.id, :journey_pattern_id => journey_pattern.id) }
+ let!(:vehicle_journey2) { create(:vehicle_journey_common, :objectid => "export:VehicleJourney:2", :route_id => route.id, :journey_pattern_id => other_journey_pattern.id) }
+ let!(:vehicle_journey3) { create(:vehicle_journey_common, :objectid => "export:VehicleJourney:3", :route_id => route.id, :journey_pattern_id => journey_pattern.id) }
+
+ let!(:stop_point0) { route.stop_points[0] }
+ let!(:stop_point1) { route.stop_points[1] }
+ let!(:stop_point2) { route.stop_points[2] }
+ let!(:stop_point3) { route.stop_points[3] }
+ let!(:stop_point4) { route.stop_points[4] }
+
+ let!(:time_table) { create(:time_table)}
+
+ subject { VehicleJourneyExport.new(:vehicle_journeys => route.vehicle_journeys, :route => route) }
+
+ describe ".tt_day_types" do
+
+ it "should return no day_type" do
+ time_table.int_day_types = 0
+ expect(subject.tt_day_types(time_table)).to eq("..............")
+ end
+
+ it "should return all days" do
+ time_table.int_day_types = 4|8|16|32|64|128|256
+ expect(subject.tt_day_types(time_table)).to eq("LuMaMeJeVeSaDi")
+ end
+
+ end
+
+ describe ".tt_periods" do
+
+ it "should return empty period" do
+ time_table.periods.clear
+ expect(subject.tt_periods(time_table)).to eq("")
+ end
+
+ it "should return periods" do
+ time_table.periods.clear
+ time_table.periods << Chouette::TimeTablePeriod.new(:period_start => Date.new(2014,8,1), :period_end => Date.new(2014,8,8))
+ expect(subject.tt_periods(time_table)).to eq("[2014-08-01 -> 2014-08-08] ")
+ end
+
+ end
+
+ describe ".tt_included_days" do
+
+ it "should return empty included dates" do
+ time_table.dates.clear
+ expect(subject.tt_peculiar_days(time_table)).to eq("")
+ end
+
+ it "should return included date" do
+ time_table.dates.clear
+ time_table.dates << Chouette::TimeTableDate.new(:date => Date.new(2014,8,1), :in_out => true)
+ expect(subject.tt_peculiar_days(time_table)).to eq("2014-08-01 ")
+ end
+
+ end
+
+ describe ".tt_excluded_days" do
+
+ it "should return empty excluded dates" do
+ time_table.dates.clear
+ expect(subject.tt_excluded_days(time_table)).to eq("")
+ end
+
+ it "should return excluded date" do
+ time_table.dates.clear
+ time_table.dates << Chouette::TimeTableDate.new(:date => Date.new(2014,8,1), :in_out => false)
+ expect(subject.tt_excluded_days(time_table)).to eq("2014-08-01 ")
+ end
+
+ end
+
+end