diff options
| author | Luc Donnet | 2014-06-27 15:37:23 +0200 |
|---|---|---|
| committer | Luc Donnet | 2014-06-27 15:37:23 +0200 |
| commit | 39162a5b27b96c9f288d8c56280ab9bea5aabe55 (patch) | |
| tree | 794b0958bba8d93d5c40b5b14ddf866ae19c5eeb | |
| parent | e11bd88c974bb71b02e8b0bec7f612250ee57ae8 (diff) | |
| download | chouette-core-39162a5b27b96c9f288d8c56280ab9bea5aabe55.tar.bz2 | |
Fix spec for vehicle journey import Refs #0026843
| -rw-r--r-- | app/models/vehicle_journey_import.rb | 9 | ||||
| -rw-r--r-- | spec/fixtures/vehicle_journey_imports_valid.csv | 10 | ||||
| -rw-r--r-- | spec/fixtures/vehicle_journey_imports_with_vj_invalid.csv | 2 | ||||
| -rw-r--r-- | spec/fixtures/vehicle_journey_imports_with_vjas_invalid.csv | 3 | ||||
| -rw-r--r-- | spec/models/vehicle_journey_import_spec.rb | 24 |
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 |
