From 8f8f3a3ad19119c38fa65c4e16a3b7f09be64d31 Mon Sep 17 00:00:00 2001 From: Louise Crow Date: Thu, 8 Nov 2012 16:01:06 +0000 Subject: Pass a hash of params to foi_fragment_cache_path in spec, as is passed in actual usage. --- spec/controllers/application_controller_spec.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'spec/controllers/application_controller_spec.rb') diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index f16cee312..a7e505376 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -39,7 +39,14 @@ end describe ApplicationController, "when caching fragments" do it "should not fail with long filenames" do long_name = "blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah.txt" - path = self.controller.send(:foi_fragment_cache_path, long_name) + params = { :only_path => true, + :file_name => [long_name], + :controller => "request", + :action => "get_attachment_as_html", + :id => "132", + :incoming_message_id => "44", + :part => "2" } + path = self.controller.send(:foi_fragment_cache_path, params) self.controller.send(:foi_fragment_cache_write, path, "whassap") end -- cgit v1.2.3 From 610eac0af6f8faf426b46f14ecbe9a312b428bb0 Mon Sep 17 00:00:00 2001 From: Louise Crow Date: Mon, 17 Dec 2012 10:32:36 +0000 Subject: Rewrite specs that were in spec/controller/application_controller as full-stack controller specs in the relevant controllers. It turns out that having spec blocks that reference the ApplicationController class directly i.e. "describe ApplicationController" can have unpredictable effects. actionpack's action_controller/test_case.rb rewrites rescue_action_without_handler on whatever it is included in, and if this is done on a controller class, and then directly on action controller, it can result in an infinite loop of recursive calls. This turns out to be the problem that was causing some tests in error_spec.rb to fail in Travis under Ruby 1.9. --- spec/controllers/application_controller_spec.rb | 54 ------------------------- 1 file changed, 54 deletions(-) delete mode 100644 spec/controllers/application_controller_spec.rb (limited to 'spec/controllers/application_controller_spec.rb') diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb deleted file mode 100644 index 18341ae6f..000000000 --- a/spec/controllers/application_controller_spec.rb +++ /dev/null @@ -1,54 +0,0 @@ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') -require 'fakeweb' - -describe ApplicationController, "when accessing third party services" do - - before (:each) do - FakeWeb.clean_registry - end - - after (:each) do - FakeWeb.clean_registry - end - - it "should succeed if the service responds OK" do - Configuration.stub!(:gaze_url).and_return('http://denmark.com') - FakeWeb.register_uri(:get, %r|denmark.com|, :body => "DK") - country = self.controller.send :country_from_ip - country.should == "DK" - end - it "should fail silently if the country_from_ip domain doesn't exist" do - Configuration.stub!(:gaze_url).and_return('http://12123sdf14qsd.com') - country = self.controller.send :country_from_ip - country.should == Configuration.iso_country_code - end - it "should fail silently if the country_from_ip service doesn't exist" do - Configuration.stub!(:gaze_url).and_return('http://www.google.com') - country = self.controller.send :country_from_ip - country.should == Configuration.iso_country_code - end - it "should fail silently 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') - country = self.controller.send :country_from_ip - country.should == Configuration.iso_country_code - end -end - -describe ApplicationController, "when caching fragments" do - - it "should not fail with long filenames" do - long_name = "blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah.txt" - params = { :only_path => true, - :file_name => [long_name], - :controller => "request", - :action => "get_attachment_as_html", - :id => "132", - :incoming_message_id => "44", - :part => "2" } - path = self.controller.send(:foi_fragment_cache_path, params) - self.controller.send(:foi_fragment_cache_write, path, "whassap") - end - -end - -- cgit v1.2.3