aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers/general_controller_spec.rb
diff options
context:
space:
mode:
authorDavid Cabo <david@calibea.com>2011-08-12 13:12:50 +0200
committerDavid Cabo <david@calibea.com>2011-08-12 13:12:50 +0200
commitdf1754847892bb6abce2681a42d8c50cf8d3a2da (patch)
tree73c518103906ad446cedd55c69690d8d91f0f362 /spec/controllers/general_controller_spec.rb
parenta63e598b9e0ddfa7ac695b1be41aaace6c0eb628 (diff)
parent766df1c7de8f820bd6e451526787632a136bc635 (diff)
Merge branch 'master' of github.com:sebbacon/alaveteli into asktheeu
Conflicts: locale/cy/app.po locale/de/app.po locale/es/app.po locale/fr/app.po locale/sq/app.po locale/sr/app.po locale/sr@latin/app.po
Diffstat (limited to 'spec/controllers/general_controller_spec.rb')
-rw-r--r--spec/controllers/general_controller_spec.rb46
1 files changed, 46 insertions, 0 deletions
diff --git a/spec/controllers/general_controller_spec.rb b/spec/controllers/general_controller_spec.rb
index 7807a5541..76e1bb5e6 100644
--- a/spec/controllers/general_controller_spec.rb
+++ b/spec/controllers/general_controller_spec.rb
@@ -12,11 +12,57 @@ describe GeneralController, "when searching" do
:incoming_messages,
:comments ]
+ before(:each) do
+ load_raw_emails_data(raw_emails)
+ end
+
it "should render the front page successfully" do
get :frontpage
response.should be_success
end
+ it "should render the front page with default language" do
+ get :frontpage
+ response.should have_tag('html[lang="en"]')
+ end
+
+ it "should render the front page with default language" do
+ old_default_locale = I18n.default_locale
+ I18n.default_locale = "es"
+ get :frontpage
+ response.should have_tag('html[lang="es"]')
+ I18n.default_locale = old_default_locale
+ end
+
+ it "should render the front page with default language and ignore the browser setting" do
+ config = MySociety::Config.load_default()
+ config['USE_DEFAULT_BROWSER_LANGUAGE'] = false
+ accept_language = "en-GB,en-US;q=0.8,en;q=0.6"
+ request.env['HTTP_ACCEPT_LANGUAGE'] = accept_language
+ old_default_locale = I18n.default_locale
+ I18n.default_locale = "es"
+ get :frontpage
+ response.should have_tag('html[lang="es"]')
+ I18n.default_locale = old_default_locale
+ end
+
+ it "should render the front page with browser-selected language when there's no default set" do
+ config = MySociety::Config.load_default()
+ config['USE_DEFAULT_BROWSER_LANGUAGE'] = true
+ accept_language = "es-ES,en-GB,en-US;q=0.8,en;q=0.6"
+ request.env['HTTP_ACCEPT_LANGUAGE'] = accept_language
+ get :frontpage
+ response.should have_tag('html[lang="es"]')
+ request.env['HTTP_ACCEPT_LANGUAGE'] = nil
+ end
+
+ it "doesn't raise an error when there's no user matching the one in the session" do
+ session[:user_id] = 999
+ get :frontpage
+ response.should be_success
+ end
+
+
it "should redirect from search query URL to pretty URL" do
post :search_redirect, :query => "mouse" # query hidden in POST parameters
response.should redirect_to(:action => 'search', :combined => "mouse") # URL /search/:query