Sha256: 4c621bde839565ef810e91288ec7af094170205e478d9be54847ca3c54b55d26

Contents?: true

Size: 1.64 KB

Versions: 24

Compression:

Stored size: 1.64 KB

Contents

require 'rails_helper'

describe LHS::Item do
  context 'error codes' do
    before(:each) do
      I18n.reload!
      I18n.backend.store_translations(:en, YAML.safe_load(translation)) if translation.present?
      class Record < LHS::Record
        endpoint 'http://datastore/records'
      end
    end

    let(:translation) do
      %q{
        lhs:
          warnings:
            fallback_message: 'This value is problematic'
      }
    end

    it 'provides error codes along side with translated messages' do
      stub_request(:post, 'http://datastore/records')
        .to_return(body: {
          field_warnings: [{
            code: 'UNSUPPORTED_PROPERTY_VALUE',
            path: ['gender'],
            message: 'The property value is unsupported.'
          }, {
            code: 'INCOMPLETE_PROPERTY_VALUE',
            path: ['gender'],
            message: 'The property value is incomplete. It misses some data'
          }, {
            code: 'INCOMPLETE_PROPERTY_VALUE',
            path: ['contract', 'entry_id'],
            message: 'The property value is incomplete. It misses some data'
          }]
        }.to_json)
      record = Record.create
      expect(record.warnings.messages['gender']).to eq(
        ['This value is problematic', 'This value is problematic']
      )
      expect(record.warnings.codes['gender']).to eq(
        ['UNSUPPORTED_PROPERTY_VALUE', 'INCOMPLETE_PROPERTY_VALUE']
      )
      expect(record.warnings.messages['contract.entry_id']).to eq(
        ['This value is problematic']
      )
      expect(record.warnings.codes['contract.entry_id']).to eq(
        ['INCOMPLETE_PROPERTY_VALUE']
      )
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
lhs-15.3.1 spec/item/warning_codes_spec.rb
lhs-15.3.1.pre.fixlhc.1 spec/item/warning_codes_spec.rb
lhs-15.3.0 spec/item/warning_codes_spec.rb
lhs-15.2.5 spec/item/warning_codes_spec.rb
lhs-15.2.4 spec/item/warning_codes_spec.rb
lhs-15.2.3 spec/item/warning_codes_spec.rb
lhs-15.2.3.pre.favorites.1 spec/item/warning_codes_spec.rb
lhs-15.2.2.pre.favorites.1 spec/item/warning_codes_spec.rb
lhs-15.2.2 spec/item/warning_codes_spec.rb
lhs-15.2.1 spec/item/warning_codes_spec.rb
lhs-15.2.0 spec/item/warning_codes_spec.rb
lhs-15.1.1 spec/item/warning_codes_spec.rb
lhs-15.1.0 spec/item/warning_codes_spec.rb
lhs-15.0.2 spec/item/warning_codes_spec.rb
lhs-15.0.1 spec/item/warning_codes_spec.rb
lhs-15.0.0 spec/item/warning_codes_spec.rb
lhs-14.6.5 spec/item/warning_codes_spec.rb
lhs-14.6.4 spec/item/warning_codes_spec.rb
lhs-14.6.3 spec/item/warning_codes_spec.rb
lhs-14.6.2 spec/item/warning_codes_spec.rb