Rspec::Translation

Maintainability Test Coverage CircleCI

Rspec::Translation is a rspec plugin that allows TDD of your translation process on ruby objects. It requires the i18n gem.

Installation

Add this line to your application's Gemfile:

gem 'rspec-translation'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rspec-translation

Usage

describe Commerce::CardErrorMsg, type: :model do
  let(:view_context) { StubViewContext.new }
  let(:error_message) { 'a card error' }
  let(:code) { 'a card decline code' }
  let(:error) { { message: error_message, code: code } }

  subject(:sut) { described_class.new(view_context, error) }

  describe 'message' do
    subject { sut['message'] }

    it { should have_a_translation }
    it { should translate_with('commerce.card_error.message', message: error_message, code: code) }
  end

  describe 'action' do
    subject { sut['action'] }

    it { should have_a_translation }
    it { should translate_with('commerce.card_error.action') }
  end
end

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/gerrypower/rspec-translation. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Rspec::Translation project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

Versioning

This library aims to adhere to Semantic Versioning 2.0.0. Violations of this scheme should be reported as bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, that version should be immediately yanked and/or a new version should be immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new major versions. As a result of this policy, once this gem reaches a 1.0 release, you can (and should) specify a dependency on this gem using the Pessimistic Version Constraint with two digits of precision. For example:

spec.add_dependency 'rspec-translation', '~> 1.0'