Sha256: c3a3551648a2034533a28d59dce1060e91ace7a9a2886287a6300d847d988344

Contents?: true

Size: 1.36 KB

Versions: 3

Compression:

Stored size: 1.36 KB

Contents

# frozen_string_literal: true

require 'spec_helpers/client'

RSpec.describe FinApps::REST::TenantSettings do
  include SpecHelpers::Client
  subject { FinApps::REST::TenantSettings.new(client) }

  describe '#show' do
    let(:show) { subject.show }

    it { expect { show }.not_to raise_error }
    it('performs a get and returns the response') do
      expect(show[RESULTS]).to respond_to(:iav_default_product)
    end
    it('returns no error messages') { expect(show[ERROR_MESSAGES]).to be_empty }
  end

  describe '#update' do
    let(:update) { subject.update(params) }

    context 'when missing params' do
      let(:params) { nil }
      it { expect { update }.to raise_error(FinAppsCore::MissingArgumentsError) }
    end

    context 'when valid params are provided' do
      let(:params) { {iav_default_product: 'valid'} }

      it { expect { update }.not_to raise_error }
      it('performs put and returns no content') { expect(update[RESULTS]).to be_nil }
      it('error_messages array is empty') { expect(update[ERROR_MESSAGES]).to be_empty }
    end

    context 'when invalid params are provided' do
      let(:params) { {bad_params: true} }

      it { expect { update }.not_to raise_error }
      it('results is nil') { expect(update[RESULTS]).to be_nil }
      it('error_messages array is populated') { expect(update[ERROR_MESSAGES]).not_to be_empty }
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
finapps-4.0.3 spec/rest/tenant_settings_spec.rb
finapps-4.0.2 spec/rest/tenant_settings_spec.rb
finapps-4.0.1 spec/rest/tenant_settings_spec.rb