This spec was causing a side effect on another spec[2], making it fail 😌 I think it was because no translation had been called yet, in the failing spec, and so the the i18n backend translations had not been initialized, and was always returning empty translations for any locale. This might have been due to tampering with translations in the this newly introduced spec. By forcing translations to load after this new spec, the other spec passes again [2] https://github.com/AyuntamientoMadrid/consul/blob/master/spec/features/localization_spec.rb#L20
34 lines
779 B
Ruby
34 lines
779 B
Ruby
require 'rails_helper'
|
|
|
|
describe LocalesHelper do
|
|
|
|
context "Language names" do
|
|
|
|
let!(:default_enforce) { I18n.enforce_available_locales }
|
|
|
|
before do
|
|
I18n.enforce_available_locales = false
|
|
end
|
|
|
|
after do
|
|
I18n.backend.reload!
|
|
I18n.enforce_available_locales = default_enforce
|
|
I18n.backend.send(:init_translations)
|
|
end
|
|
|
|
it "returns the language name in i18n.language.name translation" do
|
|
keys = { language: {
|
|
name: "World Language" }}
|
|
|
|
I18n.backend.store_translations(:wl, { i18n: keys })
|
|
|
|
expect(name_for_locale(:wl)).to eq("World Language")
|
|
end
|
|
|
|
it "retuns the locale key if i18n.language.name translation is not found" do
|
|
expect(name_for_locale(:wl)).to eq("wl")
|
|
end
|
|
|
|
end
|
|
end
|