openstreetmap-website/test/integration/page_locale_test.rb
Tom Hughes 473da378b7 Remove fallback to hostip.info
We haven't used hostip.info in production for years, except
for when we did so by accident, leading to a two hour partial
outage when it went down.
2020-01-06 19:14:12 +00:00

45 lines
1.1 KiB
Ruby

require "test_helper"
class PageLocaleTest < ActionDispatch::IntegrationTest
def setup
I18n.locale = "en"
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"
end
def test_override
user = create(:user, :languages => ["de"])
get "/diary"
assert_select "html[lang=?]", "en"
get "/diary", :params => { :locale => "es" }
assert_select "html[lang=?]", "es"
post "/login", :params => { :username => user.email, :password => "test" }
follow_redirect!
get "/diary"
assert_select "html[lang=?]", "de"
get "/diary", :params => { :locale => "fr" }
assert_select "html[lang=?]", "fr"
end
end