diff options
author | Louise Crow <louise.crow@gmail.com> | 2013-01-15 16:05:25 +0000 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2013-01-15 16:05:25 +0000 |
commit | d1cac849b5c74e4f0d35b193ad24eed1d6b66af6 (patch) | |
tree | cb153b82b3e1d451be2d299b6114c99b6610b173 /spec/controllers/services_controller_spec.rb | |
parent | f25df72186683e54dd10fd5aa94e1e26dff8ea92 (diff) | |
parent | 7cc8cae3a669fc5de91d6bc23812c265e8af4c93 (diff) |
Merge branch 'release/0.6.9'
Diffstat (limited to 'spec/controllers/services_controller_spec.rb')
-rw-r--r-- | spec/controllers/services_controller_spec.rb | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/spec/controllers/services_controller_spec.rb b/spec/controllers/services_controller_spec.rb index a701ae247..a9950d520 100644 --- a/spec/controllers/services_controller_spec.rb +++ b/spec/controllers/services_controller_spec.rb @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'fakeweb' -describe ServicesController, "when using web services" do +describe ServicesController, "when returning a message for people in other countries" do integrate_views @@ -40,4 +41,45 @@ describe ServicesController, "when using web services" do FastGettext.set_locale(@old_locale) end -end
\ No newline at end of file + describe 'when the external country from IP service is in different states' do + + before (:each) do + FakeWeb.clean_registry + end + + after (:each) do + FakeWeb.clean_registry + end + + it "should return the 'another country' message if the service responds OK" do + config = MySociety::Config.load_default() + config['ISO_COUNTRY_CODE'] = "DE" + Configuration.stub!(:gaze_url).and_return('http://denmark.com') + FakeWeb.register_uri(:get, %r|denmark.com|, :body => "DK") + get :other_country_message + response.should be_success + response.body.should == 'Hello! We have an <a href="/help/alaveteli?country_name=Deutschland">important message</a> for visitors outside Deutschland <span class="close-button">X</span>' + end + it "should default to no message if the country_from_ip domain doesn't exist" do + Configuration.stub!(:gaze_url).and_return('http://12123sdf14qsd.com') + get :other_country_message + response.should be_success + response.body.should == '' + end + it "should default to no message if the country_from_ip service doesn't exist" do + Configuration.stub!(:gaze_url).and_return('http://www.google.com') + get :other_country_message + response.should be_success + response.body.should == '' + end + it "should default to no message if the country_from_ip service returns an error" do + FakeWeb.register_uri(:get, %r|500.com|, :body => "Error", :status => ["500", "Error"]) + Configuration.stub!(:gaze_url).and_return('http://500.com') + get :other_country_message + response.should be_success + response.body.should == '' + end + + end + +end |