Sha256: 46f184f0e9913780c602d2f8b662d4cbbf79fbc2da4d066ab380e88aec94a439
Contents?: true
Size: 1.66 KB
Versions: 76
Compression:
Stored size: 1.66 KB
Contents
# frozen_string_literal: true require 'rails_helper' describe LHS::Item do context 'error codes' do before 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
76 entries across 76 versions & 1 rubygems