aboutsummaryrefslogtreecommitdiffstats
path: root/spec/models
diff options
context:
space:
mode:
authorAlban Peignier2012-07-09 09:45:46 +0200
committerAlban Peignier2012-07-09 09:45:46 +0200
commitd194d56e8d00fce99228c3f21e57bcdaad184d64 (patch)
tree2a922da8138ab82cbda95c07820507de0a683647 /spec/models
parent4878bab1260adedba0c6dbc21c0d96917b923506 (diff)
parentea483438db92d2d8c46717e2fc20ea1417e2c4b6 (diff)
downloadchouette-core-d194d56e8d00fce99228c3f21e57bcdaad184d64.tar.bz2
Merge branch 'master' of chouette.dryade.priv:/srv/git/chouette2
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/vehicle_translation_spec.rb60
1 files changed, 60 insertions, 0 deletions
diff --git a/spec/models/vehicle_translation_spec.rb b/spec/models/vehicle_translation_spec.rb
new file mode 100644
index 000000000..2a9c53371
--- /dev/null
+++ b/spec/models/vehicle_translation_spec.rb
@@ -0,0 +1,60 @@
+require 'spec_helper'
+
+describe VehicleTranslation do
+ let!(:company){ Factory(:company )}
+ let!(:journey_pattern){Factory(:journey_pattern)}
+ let!(:vehicle_journey){ Factory(:vehicle_journey,
+ :objectid => "dummy",
+ :journey_pattern => journey_pattern,
+ :route => journey_pattern.route,
+ :company => company,
+ :transport_mode => Chouette::TransportMode.new("metro"),
+ :published_journey_name => "dummy"
+ )}
+ subject {Factory.build(:vehicle_translation, :vehicle_journey_id => vehicle_journey.id)}
+
+ describe "#translate" do
+ it "should add new vehicle" do
+ count_before = Chouette::VehicleJourney.count
+ subject.translate
+ count_after = Chouette::VehicleJourney.count
+ count_after.should == count_before + subject.count.to_i
+ end
+ def last_created_vehicle
+ Chouette::VehicleJourney.find( :all, :order => :creation_time).last
+ end
+ it "should add vehicle having same published_journey_name" do
+ subject.translate
+ last_created_vehicle.published_journey_name.should == vehicle_journey.published_journey_name
+ end
+ it "should add vehicle having same transport_mode" do
+ subject.translate
+ last_created_vehicle.transport_mode.should == vehicle_journey.transport_mode
+ end
+ it "should add vehicle having same journey_pattern" do
+ subject.translate
+ last_created_vehicle.journey_pattern.should == vehicle_journey.journey_pattern
+ end
+ it "should add vehicle having same route" do
+ subject.translate
+ last_created_vehicle.route.should == vehicle_journey.route
+ end
+ it "should add vehicle having same company" do
+ subject.translate
+ last_created_vehicle.company.should == vehicle_journey.company
+ end
+ it "should add vehicle with as many vehicle_journey_at_stops as on basic vehicle" do
+ subject.translate
+ last_created_vehicle.vehicle_journey_at_stops.count.should == vehicle_journey.vehicle_journey_at_stops.count
+ end
+ it "should add vehicle where vehicle_journey_at_stops are translated with #duration" do
+ read_vehicle = Chouette::VehicleJourney.find(vehicle_journey.id) # read from bd, change time values
+ subject.translate
+ last_created_vehicle.vehicle_journey_at_stops.each_with_index do |vjas, index|
+ vjas.departure_time.should == (read_vehicle.vehicle_journey_at_stops[index].departure_time + subject.duration.minutes)
+ vjas.arrival_time.should == (read_vehicle.vehicle_journey_at_stops[index].arrival_time + subject.duration.minutes)
+ end
+ end
+ end
+end
+