Make customization engine spec less prone to flaky failures

This commit is contained in:
Bertocq
2018-01-09 01:33:44 +01:00
parent 4ca0a48df6
commit 7c7f903ed0

View File

@@ -8,21 +8,33 @@ describe 'Customization Engine' do
let(:test_key) { I18n.t('account.show.change_credentials_link') } let(:test_key) { I18n.t('account.show.change_credentials_link') }
let!(:default_path) { I18n.load_path } let!(:default_path) { I18n.load_path }
before do
reset_load_path_and_reload(default_path)
end
after do
reset_load_path_and_reload(default_path)
end
it "loads custom and override original locales" do it "loads custom and override original locales" do
I18n.load_path += Dir[Rails.root.join('spec', 'support', 'locales', 'custom', '*.{rb,yml}')] increase_load_path_and_reload(Dir[Rails.root.join('spec', 'support',
I18n.reload! 'locales', 'custom', '*.{rb,yml}')])
expect(test_key).to eq 'Overriden string with custom locales' expect(test_key).to eq 'Overriden string with custom locales'
end end
it "does not override original locales" do it "does not override original locales" do
I18n.load_path.delete_if {|item| item =~ /spec\/support\/locales\/custom/ } increase_load_path_and_reload(Dir[Rails.root.join('spec', 'support',
I18n.load_path += Dir[Rails.root.join('spec', 'support', 'locales', '**', '*.{rb,yml}')] 'locales', '**', '*.{rb,yml}')])
I18n.reload!
expect(test_key).to eq 'Not overriden string with custom locales' expect(test_key).to eq 'Not overriden string with custom locales'
end end
after do def reset_load_path_and_reload(path)
I18n.load_path = default_path I18n.load_path = path
I18n.reload!
end
def increase_load_path_and_reload(path)
I18n.load_path += path
I18n.reload! I18n.reload!
end end