Sha256: 05b4015ac4b946b692c7b4e365c9974c1f96981b79c8bd4606c71d70fe3d6d34

Contents?: true

Size: 1.5 KB

Versions: 7

Compression:

Stored size: 1.5 KB

Contents

# frozen_string_literal: true
RSpec.describe FinApps::REST::OrderReports do
  let(:client) { FinApps::REST::Client.new(:company_identifier, :company_token) }
  describe '#show' do
    context 'when missing id' do
      subject { FinApps::REST::OrderReports.new(client).show(nil, :pdf) }
      it { expect { subject }.to raise_error(FinApps::MissingArgumentsError) }
    end

    context 'when missing format' do
      subject { FinApps::REST::OrderReports.new(client).show(:valid_id, nil) }
      it { expect { subject }.to raise_error(FinApps::MissingArgumentsError) }
    end

    context 'when invalid format is provided' do
      subject { FinApps::REST::OrderReports.new(client).show(:valid_id, :xml) }
      it { expect { subject }.to raise_error(FinApps::InvalidArgumentsError) }
    end

    context 'when valid params are provided' do
      subject { FinApps::REST::OrderReports.new(client).show(:valid_id, :json) }

      it { expect { subject }.not_to raise_error }
      it('performs a get and returns the response') { expect(subject[0]).to respond_to(:days_requested) }
      it('returns no error messages') { expect(subject[1]).to be_empty }
    end

    context 'when invalid id is provided' do
      subject { FinApps::REST::OrderReports.new(client).show(:invalid_id, :json) }

      it { expect { subject }.not_to raise_error }
      it('results is nil') { expect(subject[0]).to be_nil }
      it('error messages array is populated') { expect(subject[1].first.downcase).to eq('resource not found') }
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
finapps-2.1.4 spec/rest/order_reports_spec.rb
finapps-2.1.3 spec/rest/order_reports_spec.rb
finapps-2.1.2 spec/rest/order_reports_spec.rb
finapps-2.1.1 spec/rest/order_reports_spec.rb
finapps-2.0.30 spec/rest/order_reports_spec.rb
finapps-2.0.29 spec/rest/order_reports_spec.rb
finapps-2.0.28 spec/rest/order_reports_spec.rb