Replace i18n view spec with helper spec (#24966)
parent
2e1c6e93ad
commit
b84bc2de5d
|
@ -0,0 +1,35 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe 'I18n' do
|
||||||
|
describe 'Pluralizing locale translations' do
|
||||||
|
subject { I18n.t('generic.validation_errors', count: 1) }
|
||||||
|
|
||||||
|
context 'with the `en` locale which has `one` and `other` plural values' do
|
||||||
|
around do |example|
|
||||||
|
I18n.with_locale(:en) do
|
||||||
|
example.run
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'translates to `en` correctly and without error' do
|
||||||
|
expect { subject }.to_not raise_error
|
||||||
|
expect(subject).to match(/the error below/)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with the `my` locale which has only `other` plural value' do
|
||||||
|
around do |example|
|
||||||
|
I18n.with_locale(:my) do
|
||||||
|
example.run
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'translates to `my` correctly and without error' do
|
||||||
|
expect { subject }.to_not raise_error
|
||||||
|
expect(subject).to match(/1/)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,37 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
describe 'shared/_error_messages.html.haml' do
|
|
||||||
let(:status) { Status.new }
|
|
||||||
|
|
||||||
before { status.errors.add :base, :invalid }
|
|
||||||
|
|
||||||
context 'with a locale that has `one` and `other` plural values' do
|
|
||||||
around do |example|
|
|
||||||
I18n.with_locale(:en) do
|
|
||||||
example.run
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'renders the view with one error' do
|
|
||||||
render partial: 'shared/error_messages', locals: { object: status }
|
|
||||||
|
|
||||||
expect(rendered).to match(/is invalid/)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with a locale that has only `other` plural value' do
|
|
||||||
around do |example|
|
|
||||||
I18n.with_locale(:my) do
|
|
||||||
example.run
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'renders the view with one error' do
|
|
||||||
render partial: 'shared/error_messages', locals: { object: status }
|
|
||||||
|
|
||||||
expect(rendered).to match(/is invalid/)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Reference in New Issue