Sha256: 6e84b666738e99adb092fb5b7fc5d5085466f603fa5d66cb41dbafd8d3be6246

Contents?: true

Size: 1.05 KB

Versions: 9

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

class FakeClass
  include FinApps::Utils::QueryBuilder

  def build_filter(param); end
end

RSpec.describe FinApps::Utils::QueryBuilder do
  subject { FakeClass.new }

  describe '#build_query_path' do
    let(:end_point) { 'orders' }

    context 'with full params' do
      let(:params) { { page: '1', requested: '20', sort: '-date', random: 'random' } }
      it 'calls #build_filter and returns correct string' do
        allow(subject).to receive(:build_filter) { { role: 2 } }
        expect(subject).to receive(:build_filter).with(params)
        correct_string = 'orders?page=1&requested=20&sort=-date&filter=%7B%22role%22%3A2%7D'
        expect(subject.build_query_path(end_point, params)).to eq(correct_string)
      end
    end

    context 'with no params' do
      let(:params) { {} }
      it 'returns returns' do
        allow(subject).to receive(:build_filter) { {} }
        expect(subject).to receive(:build_filter).with(params)
        expect(subject.build_query_path(end_point, params)).to be_nil
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
finapps-4.0.12 spec/utils/query_builder_spec.rb
finapps-4.0.11 spec/utils/query_builder_spec.rb
finapps-4.0.10 spec/utils/query_builder_spec.rb
finapps-4.0.9 spec/utils/query_builder_spec.rb
finapps-4.0.8 spec/utils/query_builder_spec.rb
finapps-4.0.7 spec/utils/query_builder_spec.rb
finapps-4.0.6 spec/utils/query_builder_spec.rb
finapps-4.0.5 spec/utils/query_builder_spec.rb
finapps-4.0.4 spec/utils/query_builder_spec.rb