X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/aa1fb6dbb8c2e71b8ce8c231ae1272a2dfebd75a..95e1aff23493b3725d5259bcca7bcc79d7d3bc26:/test/integration/page_locale_test.rb?ds=sidebyside diff --git a/test/integration/page_locale_test.rb b/test/integration/page_locale_test.rb index 9c42d9be7..6f6d7779f 100644 --- a/test/integration/page_locale_test.rb +++ b/test/integration/page_locale_test.rb @@ -1,46 +1,45 @@ require "test_helper" class PageLocaleTest < ActionDispatch::IntegrationTest - def setup - I18n.locale = "en" - stub_hostip_requests - end - - def teardown - I18n.locale = "en" - end - def test_defaulting - user = create(:user, :languages => []) - - post "/login", :params => { :username => user.email, :password => "test" } - follow_redirect! - - get "/diary/new" - assert_equal [], User.find(user.id).languages - assert_select "html[lang=?]", "en" - - get "/diary/new", :headers => { "HTTP_ACCEPT_LANGUAGE" => "fr, en" } - assert_equal %w[fr en], User.find(user.id).languages - assert_select "html[lang=?]", "fr" + I18n.with_locale "en" do + user = create(:user, :languages => []) + + get "/login" + follow_redirect! + post "/login", :params => { :username => user.email, :password => "test" } + follow_redirect! + + get "/diary/new" + assert_empty User.find(user.id).languages + assert_select "html[lang=?]", "en" + + get "/diary/new", :headers => { "HTTP_ACCEPT_LANGUAGE" => "fr, en" } + assert_equal %w[fr en], User.find(user.id).languages + assert_select "html[lang=?]", "fr" + end end def test_override - user = create(:user, :languages => ["de"]) + I18n.with_locale "en" do + user = create(:user, :languages => ["de"]) - get "/diary" - assert_select "html[lang=?]", "en" + get "/diary" + assert_select "html[lang=?]", "en" - get "/diary", :params => { :locale => "es" } - assert_select "html[lang=?]", "es" + get "/diary", :params => { :locale => "es" } + assert_select "html[lang=?]", "es" - post "/login", :params => { :username => user.email, :password => "test" } - follow_redirect! + get "/login" + follow_redirect! + post "/login", :params => { :username => user.email, :password => "test" } + follow_redirect! - get "/diary" - assert_select "html[lang=?]", "de" + get "/diary" + assert_select "html[lang=?]", "de" - get "/diary", :params => { :locale => "fr" } - assert_select "html[lang=?]", "fr" + get "/diary", :params => { :locale => "fr" } + assert_select "html[lang=?]", "fr" + end end end