spec/spec_helper.rb in gares-2.0.0.pre.dev2 vs spec/spec_helper.rb in gares-2.0.0.pre.dev3
- old
+ new
@@ -39,13 +39,17 @@
# Sample fixtures for Trains
TRAINS_SAMPLES = [
{ 17709 => 'train-17709' },
{ 11641 => 'train-11641' },
{ 17495 => 'train-17495' },
- { 6815 => 'train-6815' }, # Multi-itinerary
+ { 6815 => 'train-6815' }, # Multi-itinerary see MULTI_TRAINS_SAMPLES
]
+MULTI_TRAINS_SAMPLES = [
+ { 6815 => ['train-6815-0', 'train-6815-1'] },
+]
+
unless ENV['LIVE_TEST']
begin
require 'rubygems'
require 'fakeweb'
@@ -61,13 +65,21 @@
def fake_response_for_train(number)
unless ENV['LIVE_TEST']
begin
response = TRAINS_SAMPLES.find { |sample| sample.keys.first == number }.values.first
+ multi_responses = MULTI_TRAINS_SAMPLES.find { |sample| sample.keys.first == number }
+ multi_responses = multi_responses.nil? ? [] : multi_responses.values.first
sncf_result_url = 'http://www.sncf.com/en/horaires-info-trafic/train/resultats'
FakeWeb.register_uri(:get, sncf_result_url, response: read_fixture("get-#{response}"))
sncf_post_url = 'http://www.sncf.com/sncf/train'
FakeWeb.register_uri(:post, sncf_post_url, response: read_fixture("post-#{response}"))
+ multi_responses.each_with_index do |multi_response, idx|
+ sncf_get_multi_url = "http://www.sncf.com/sncf/train/displayDetailTrain?idItineraire=#{idx}"
+ FakeWeb.register_uri(:get, sncf_get_multi_url, response: read_fixture("get-#{multi_response}"))
+ sncf_get_data_url = "http://www.sncf.com/en/horaires-info-trafic/train/resultats?#{idx}"
+ FakeWeb.register_uri(:get, sncf_get_data_url, response: read_fixture("get-#{multi_response}-data"))
+ end
rescue LoadError
puts 'Could not load FakeWeb, these tests will hit gares-en-mouvement.com'
puts 'You can run `gem install fakeweb` to stub out the responses.'
end
end