~cytrogen/masto-fe

679aca46da56228a3219d1c6f0c942adcfb8fdb1 — Matt Jankowski 2 years ago 433ab0c
I18n pluralization errors (#24963)

2 files changed, 38 insertions(+), 1 deletions(-)

M Gemfile.lock
A spec/views/shared/_error_messages.html.haml_spec.rb
M Gemfile.lock => Gemfile.lock +1 -1
@@ 329,7 329,7 @@ GEM
    httplog (1.6.2)
      rack (>= 2.0)
      rainbow (>= 2.0.0)
    i18n (1.12.0)
    i18n (1.13.0)
      concurrent-ruby (~> 1.0)
    i18n-tasks (1.0.12)
      activesupport (>= 4.0.2)

A spec/views/shared/_error_messages.html.haml_spec.rb => spec/views/shared/_error_messages.html.haml_spec.rb +37 -0
@@ 0,0 1,37 @@
# 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