Test the index page with all locales to make sure missing frontend locale files aren't fatal

This commit is contained in:
Jyri-Petteri Paloposki 2022-08-11 22:53:59 +03:00
parent 0b167bade4
commit e669a18733
3 changed files with 33 additions and 11 deletions

View file

@ -0,0 +1,22 @@
require 'test_helper'
class LocaleTest < ActionDispatch::IntegrationTest
fixtures :users
def test_locale_index
logs_in_as(users(:other_user_email), 'open')
@user = User.find(@request.session['user_id'])
locales = I18n.available_locales.map {|l| l.to_s}
locales.each do |locale|
# Set the locale
@user.preference.locale = locale
@user.preference.save!
logs_in_as(users(:other_user_email), 'open')
get '/'
assert_response :success
assert_template "todos/index"
end
end
end

View file

@ -2,17 +2,6 @@ require 'test_helper'
class RecurringTodosTest < ActionDispatch::IntegrationTest class RecurringTodosTest < ActionDispatch::IntegrationTest
def logs_in_as(user,plain_pass)
@user = user
post "/login", params: { :user_login => @user.login,
:user_password => plain_pass,
:user_noexpiry => 'n' }
assert_response :redirect
follow_redirect!
assert_response :success
assert_template "todos/index"
end
def test_deleting_recurring_todo_clears_reference_from_related_todos def test_deleting_recurring_todo_clears_reference_from_related_todos
logs_in_as(users(:admin_user), 'abracadabra') logs_in_as(users(:admin_user), 'abracadabra')

View file

@ -109,6 +109,17 @@ end
class ActionDispatch::IntegrationTest class ActionDispatch::IntegrationTest
def logs_in_as(user, plain_pass)
@user = user
post "/login", params: { :user_login => @user.login,
:user_password => plain_pass,
:user_noexpiry => 'n' }
assert_response :redirect
follow_redirect!
assert_response :success
assert_template "todos/index"
end
def authenticated_post_xml(url, username, password, parameters, headers = {}) def authenticated_post_xml(url, username, password, parameters, headers = {})
post url, params: parameters, headers: post url, params: parameters, headers:
{ 'HTTP_AUTHORIZATION' => "Basic " + Base64.encode64("#{username}:#{password}"), { 'HTTP_AUTHORIZATION' => "Basic " + Base64.encode64("#{username}:#{password}"),