From 3b1072f3d1075bf3c6c69de4d664183e99dd15f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 9 Apr 2021 12:58:58 +0200 Subject: [PATCH] Fix setting locale to an unavailable one in specs When we assigned `I18n.available_locales = default_locales` in the `ensure` block, `I18n.locale` was set to `:zh-TW`, which is not one of the default locales. In some cases this resulted in tests failing: ``` I18n::InvalidLocale: :"zh-TW" is not a valid locale ``` --- spec/lib/tasks/seed_spec.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/spec/lib/tasks/seed_spec.rb b/spec/lib/tasks/seed_spec.rb index b7e2b2830..c7cad5ff0 100644 --- a/spec/lib/tasks/seed_spec.rb +++ b/spec/lib/tasks/seed_spec.rb @@ -17,10 +17,11 @@ describe "rake db:seed" do welcome_level_three_verified: "welcome.welcome.title" } I18n.available_locales.each do |locale| - I18n.locale = locale - paths.each do |slug, path| - site = SiteCustomization::Page.find_by(slug: slug).translations.find_by(locale: locale) - expect(site.title).to eq I18n.t(path) + I18n.with_locale(locale) do + paths.each do |slug, path| + site = SiteCustomization::Page.find_by(slug: slug).translations.find_by(locale: locale) + expect(site.title).to eq I18n.t(path) + end end end ensure