Sha256: 96d7eca3166452ff9dec244add94688f0232ef7d924b48603cca07fb3811da99

Contents?: true

Size: 858 Bytes

Versions: 7

Compression:

Stored size: 858 Bytes

Contents

# frozen_string_literal: true

RSpec.shared_examples 'an API request' do
  it { expect { subject }.not_to raise_error }
  it('returns an array') { expect(subject).to be_a(Array) }
end

RSpec.shared_examples 'a successful request' do
  it('returns no error messages') do
    expect(subject[ERROR_MESSAGES]).to be_empty
  end
end

RSpec.shared_examples 'a failed request' do
  it { expect(subject[RESULTS]).to be_nil }
  it { expect(subject[ERROR_MESSAGES]).not_to be_empty }
end

RSpec.shared_examples 'a request that raises an error' do |err|
  err = FinAppsCore::MissingArgumentsError if err.nil?
  it { expect { subject }.to raise_error(err) }
end

RSpec.shared_examples 'a GET index request' do
  it { expect(subject[RESULTS]).to have_key(:records) }

  it('returns an array of records') do
    expect(subject[RESULTS][:records]).to be_a(Array)
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
finapps-6.13.1 spec/spec_helpers/api_request.rb
finapps-6.13.0 spec/spec_helpers/api_request.rb
finapps-6.12.0 spec/spec_helpers/api_request.rb
finapps-6.11.0 spec/spec_helpers/api_request.rb
finapps-6.10.2 spec/spec_helpers/api_request.rb
finapps-6.10.1 spec/spec_helpers/api_request.rb
finapps-6.10.0 spec/spec_helpers/api_request.rb