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 => "s3cr3t" }
 
  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 => "s3cr3t" }
 
  41       assert_select "html[lang=?]", "de"
 
  43       get "/diary", :params => { :locale => "fr" }
 
  44       assert_select "html[lang=?]", "fr"