aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/vehicle_journey_import.rb9
-rw-r--r--spec/fixtures/vehicle_journey_imports_valid.csv10
-rw-r--r--spec/fixtures/vehicle_journey_imports_with_vj_invalid.csv2
-rw-r--r--spec/fixtures/vehicle_journey_imports_with_vjas_invalid.csv3
-rw-r--r--spec/models/vehicle_journey_import_spec.rb24
5 files changed, 24 insertions, 24 deletions
diff --git a/app/models/vehicle_journey_import.rb b/app/models/vehicle_journey_import.rb
index e581435a0..11f142309 100644
--- a/app/models/vehicle_journey_import.rb
+++ b/app/models/vehicle_journey_import.rb
@@ -55,6 +55,7 @@ class VehicleJourneyImport
def load_imported_vehicle_journeys
spreadsheet = open_spreadsheet(file)
vehicle_journeys = []
+ vehicle_journey_at_stops = []
first_column = spreadsheet.column(1)
stop_point_ids = first_column[1..spreadsheet.last_row].map(&:to_i)
@@ -80,8 +81,8 @@ class VehicleJourneyImport
begin
main_time = Time.parse(value)
if main_time.present?
- vjas = Chouette::VehicleJourneyAtStop.where(:stop_point_id => key, :vehicle_journey_id => vehicle_journey.id).first_or_initialize(:departure_time => main_time, :arrival_time => main_time)
- vehicle_journey.vehicle_journey_at_stops << vjas
+ vjas = { :stop_point_id => key, :vehicle_journey_id => vehicle_journey.id, :departure_time => main_time, :arrival_time => main_time } #Chouette::VehicleJourneyAtStop.where(:stop_point_id => key, :vehicle_journey_id => vehicle_journey.id).first_or_initialize(:departure_time => main_time, :arrival_time => main_time)
+ vehicle_journey_at_stops << vjas
end
rescue Exception => exception
errors.add :base, I18n.t("vehicle_journey_imports.errors.invalid_vehicle_journey_at_stop", :column => i, :line => line, :time => value)
@@ -89,12 +90,14 @@ class VehicleJourneyImport
end
end
end
-
+ vehicle_journey.vehicle_journey_at_stops_attributes = vehicle_journey_at_stops
vehicle_journeys << vehicle_journey
end
end
vehicle_journeys
+ puts vehicle_journeys.inspect
+ vehicle_journeys
end
def open_spreadsheet(file)
diff --git a/spec/fixtures/vehicle_journey_imports_valid.csv b/spec/fixtures/vehicle_journey_imports_valid.csv
index 3ec32f77a..b20d58ab5 100644
--- a/spec/fixtures/vehicle_journey_imports_valid.csv
+++ b/spec/fixtures/vehicle_journey_imports_valid.csv
@@ -1,6 +1,6 @@
"stop area id","stop area name","import:VehicleJourney:1","import:VehicleJourney:2","import:VehicleJourney:3",""
-1,"Arrêt 1","9:00:00","10:05:00","11:10:00","12:10:00"
-2,"Arrêt 2","9:05:00",,"11:15:00","12:15:00"
-3,"Arrêt 3","9:10:00","10:20:00","11:20:00","12:20:00"
-4,"Arrêt 4","9:15:00","10:25:00","11:25:00","12:25:00"
-5,"Arrêt 5","9:20:00","10:30:00","11:30:00","12:30:00"
+1,"Arrêt 1","9:00:00",,"11:10:00","12:10:00"
+2,"Arrêt 2","9:05:00","10:05:00","11:15:00","12:15:00"
+3,"Arrêt 3","9:10:00",,"11:20:00","12:20:00"
+4,"Arrêt 4","9:15:00","10:20:00","11:25:00","12:25:00"
+5,"Arrêt 5","9:20:00",,"11:30:00","12:30:00"
diff --git a/spec/fixtures/vehicle_journey_imports_with_vj_invalid.csv b/spec/fixtures/vehicle_journey_imports_with_vj_invalid.csv
index 8a7f26c21..1b7aeb731 100644
--- a/spec/fixtures/vehicle_journey_imports_with_vj_invalid.csv
+++ b/spec/fixtures/vehicle_journey_imports_with_vj_invalid.csv
@@ -2,5 +2,5 @@
1,"Arrêt 1","9:00:00","10:05:00","11:10:00"
2,"Arrêt 2","11:05:00",,"11:15:00"
3,"Arrêt 3","11:10:00","10:20:00","11:20:00"
-4,"Arrêt 4","11:15:00","10:25:00","11:25:00"
+4,"Arrêt 4","11:15:00",,"11:25:00"
5,"Arrêt 5","9:20:00","10:30:00","11:30:00"
diff --git a/spec/fixtures/vehicle_journey_imports_with_vjas_invalid.csv b/spec/fixtures/vehicle_journey_imports_with_vjas_invalid.csv
index 055971b3e..c5e9e32b1 100644
--- a/spec/fixtures/vehicle_journey_imports_with_vjas_invalid.csv
+++ b/spec/fixtures/vehicle_journey_imports_with_vjas_invalid.csv
@@ -2,4 +2,5 @@
1,"Arrêt 1",invalid time,"10:05:00","11:10:00"
2,"Arrêt 2","9:05:00",,"11:15:00"
3,"Arrêt 3","9:10:00","10:20:00","11:20:00"
-4,"Arrêt 4","9:15:00","10:25:00","11:25:00"
+4,"Arrêt 4","9:15:00",,"11:25:00"
+5,"Arrêt 5","9:20:00","10:30:00","11:30:00"
diff --git a/spec/models/vehicle_journey_import_spec.rb b/spec/models/vehicle_journey_import_spec.rb
index 819e001f2..7a2b94208 100644
--- a/spec/models/vehicle_journey_import_spec.rb
+++ b/spec/models/vehicle_journey_import_spec.rb
@@ -24,7 +24,7 @@ describe VehicleJourneyImport do
let!(:other_route) { create(:route) }
let!(:journey_pattern) { create(:journey_pattern, :route => route) }
- let!(:other_journey_pattern) { create(:journey_pattern_common, :route => route) }
+ let!(:other_journey_pattern) { create(:journey_pattern_even, :route => route) }
let!(:vehicle_journey1) { create(:vehicle_journey_common, :objectid => "import:VehicleJourney:1", :route_id => route.id, :journey_pattern_id => journey_pattern.id) }
let!(:vehicle_journey2) { create(:vehicle_journey_common, :objectid => "import:VehicleJourney:2", :route_id => route.id, :journey_pattern_id => other_journey_pattern.id) }
@@ -58,12 +58,7 @@ describe VehicleJourneyImport do
mock("CSV", :tempfile => csv_file, :original_filename => File.basename(csv_file), :path => File.path(csv_file) )
}
- subject { VehicleJourneyImport.new(:route => route, :file => valid_file) }
-
- before :each do
- other_journey_pattern.stop_points << [stop_point0, stop_point2, stop_point3, stop_point4]
- end
-
+ subject { VehicleJourneyImport.new(:route => route, :file => valid_file) }
describe ".save" do
@@ -78,15 +73,16 @@ describe VehicleJourneyImport do
it "should import vehicle_journeys and create the right number of objects" do
expect(VehicleJourneyImport.new(:file => valid_file, :route => route).save).to be_true
expect(Chouette::VehicleJourney.all.size).to eq(4)
+ puts Chouette::VehicleJourneyAtStop.all.inspect
expect(Chouette::VehicleJourneyAtStop.all.size).to eq(19)
end
- it "should not import vehicle_journeys and not create objects when vehicle journey at stops are not in ascendant order" #do
- # expect(VehicleJourneyImport.new(:route => route, :file => invalid_file_on_vjas_object).save).to be_false
- # expect(Chouette::VehicleJourney.all.size).to eq(3)
- # puts Chouette::VehicleJourneyAtStop.all.inspect
- # expect(Chouette::VehicleJourneyAtStop.all.size).to eq(0)
- # end
+ it "should not import vehicle_journeys and not create objects when vehicle journey at stops are not in ascendant order" do
+ expect(VehicleJourneyImport.new(:route => route, :file => invalid_file_on_vjas_object).save).to be_false
+ expect(Chouette::VehicleJourney.all.size).to eq(3)
+ puts Chouette::VehicleJourneyAtStop.all.inspect
+ expect(Chouette::VehicleJourneyAtStop.all.size).to eq(0)
+ end
# it "should not import vehicle_journeys and not create objects with invalid file" do
# expect(VehicleJourneyImport.new(:file => invalid_file_on_vj, :route => route).save).to be_false
@@ -100,7 +96,7 @@ describe VehicleJourneyImport do
it "should return journey pattern with same stop points" do
expect(subject.find_journey_pattern_schedule( { stop_point0.id => "9:00", stop_point1.id => "9:05", stop_point2.id => "9:10", stop_point3.id => "9:15", stop_point4.id => "9:20"} )).to eq(journey_pattern)
- expect(subject.find_journey_pattern_schedule( { stop_point0.id => "9:00", stop_point2.id => "9:10", stop_point3.id => "9:15", stop_point4.id => "9:20"} )).to eq(other_journey_pattern)
+ expect(subject.find_journey_pattern_schedule( { stop_point1.id => "9:00", stop_point3.id => "9:10" } )).to eq(other_journey_pattern)
end
it "should return new journey_pattern if no journey pattern with same stop points is founded" do