aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers/services_controller_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers/services_controller_spec.rb')
-rw-r--r--spec/controllers/services_controller_spec.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/spec/controllers/services_controller_spec.rb b/spec/controllers/services_controller_spec.rb
index 14731f090..621dbaaac 100644
--- a/spec/controllers/services_controller_spec.rb
+++ b/spec/controllers/services_controller_spec.rb
@@ -12,6 +12,14 @@ describe ServicesController, "when returning a message for people in other count
@old_locale = FastGettext.locale()
end
+ it 'keeps the flash' do
+ # Make two get requests to simulate the flash getting swept after the
+ # first response.
+ get :other_country_message, nil, nil, :some_flash_key => 'abc'
+ get :other_country_message
+ expect(flash[:some_flash_key]).to eq('abc')
+ end
+
it "should show no alaveteli message when in the deployed country" do
config = MySociety::Config.load_default()
config['ISO_COUNTRY_CODE'] = "DE"
@@ -60,21 +68,25 @@ describe ServicesController, "when returning a message for people in other count
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'
end
+
it "should default to no message if the country_from_ip domain doesn't exist" do
AlaveteliConfiguration.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
AlaveteliConfiguration.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
+
+ it "should default to no message and log the error with url if the country_from_ip service returns an error" do
FakeWeb.register_uri(:get, %r|500.com|, :body => "Error", :status => ["500", "Error"])
AlaveteliConfiguration.stub!(:gaze_url).and_return('http://500.com')
+ Rails.logger.should_receive(:warn).with /500\.com.*500 Error/
get :other_country_message
response.should be_success
response.body.should == ''