Sha256: 5d9aec8198161bbda2abf6b4c3de7ec3ab2c594f7fa03d1b927517f6c144dbbc

Contents?: true

Size: 1.23 KB

Versions: 2

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

require 'spec_helpers/client'

RSpec.describe FinApps::REST::OrderNotifications do
  include SpecHelpers::Client

  describe '#update' do
    subject(:orders) { described_class.new(client) }

    context 'when missing id' do
      let(:update) { subject.update(nil) }

      it('returns missing argument error') do
        expect { update }.to raise_error(FinAppsCore::MissingArgumentsError)
      end
    end

    context 'when invalid id is provided' do
      let(:update) { subject.update(:invalid_id) }
      let(:results) { update[RESULTS] }
      let(:error_messages) { update[ERROR_MESSAGES] }

      it { expect { update }.not_to raise_error }
      it('results is nil') { expect(results).to be_nil }

      it('error messages array is populated') do
        expect(error_messages.first.downcase).to eq('resource not found')
      end
    end

    context 'for valid id' do
      let(:update) { subject.update(:valid_id) }
      let(:results) { update[RESULTS] }
      let(:error_messages) { update[ERROR_MESSAGES] }

      it { expect { update }.not_to raise_error }
      it('results is nil') { expect(results).to be_nil }
      it('error_messages array is empty') { expect(error_messages).to eq([]) }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
finapps-5.0.34 spec/rest/order_notifications_spec.rb
finapps-5.0.33 spec/rest/order_notifications_spec.rb