1 # frozen_string_literal: true
5 class PageLocaleTest < ActionDispatch::IntegrationTest
7 I18n.with_locale "en" do
8 user = create(:user, :languages => [])
12 post "/login", :params => { :username => user.email, :password => "test" }
16 assert_empty User.find(user.id).languages
17 assert_select "html[lang=?]", "en"
19 get "/diary/new", :headers => { "Accept-Language" => "fr, en" }
20 assert_equal %w[fr en], User.find(user.id).languages
21 assert_select "html[lang=?]", "fr"
26 I18n.with_locale "en" do
27 user = create(:user, :languages => ["de"])
30 assert_select "html[lang=?]", "en"
32 get "/diary", :params => { :locale => "es" }
33 assert_select "html[lang=?]", "es"
37 post "/login", :params => { :username => user.email, :password => "test" }
41 assert_select "html[lang=?]", "de"
43 get "/diary", :params => { :locale => "fr" }
44 assert_select "html[lang=?]", "fr"