Sha256: 22fa37a3f88e34cd28858e66f855971f94a3559a8d294d8569bde0d426a93bb1

Contents?: true

Size: 1.65 KB

Versions: 41

Compression:

Stored size: 1.65 KB

Contents

# frozen_string_literal: true

require 'rails_helper'
require 'lhs/rspec'

describe LHS do

  before do
    class Record < LHS::Record
      endpoint 'https://records'
    end

    Record.stub_all(
      'https://records',
      200.times.map { |index| { name: "Item #{index}" } },
      headers: {
        'Authorization' => 'Bearer 123'
      }
    )
  end

  it 'stubs all requests' do
    records = Record.options(headers: { 'Authorization' => 'Bearer 123' }).all.fetch
    expect(records.count).to eq 200
    expect(records.length).to eq 200
    expect(records.first.name).to eq 'Item 0'
  end

  context 'without conditions' do

    before do
      class Record < LHS::Record
        endpoint 'https://records'
      end

      Record.stub_all(
        'https://records',
        200.times.map { |index| { name: "Item #{index}" } }
      )
    end

    it 'stubs all requests without a webmock "with"' do
      records = Record.all.fetch
      expect(records.count).to eq 200
      expect(records.length).to eq 200
      expect(records.first.name).to eq 'Item 0'
    end
  end

  context 'with configured record' do

    before do
      class Record < LHS::Record
        configuration limit_key: :per_page, pagination_strategy: :page, pagination_key: :page

        endpoint 'https://records'
      end

      Record.stub_all(
        'https://records',
        200.times.map { |index| { name: "Item #{index}" } }
      )
    end

    it 'stubs all requests with record configurations for pagination' do
      records = Record.all.fetch
      expect(records.count).to eq 200
      expect(records.length).to eq 200
      expect(records.first.name).to eq 'Item 0'
    end
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
lhs-26.2.0 spec/stubs/all_spec.rb
lhs-26.1.0 spec/stubs/all_spec.rb
lhs-26.0.1 spec/stubs/all_spec.rb
lhs-26.0.0 spec/stubs/all_spec.rb
lhs-25.2.0 spec/stubs/all_spec.rb
lhs-25.1.0 spec/stubs/all_spec.rb
lhs-25.0.4 spec/stubs/all_spec.rb
lhs-25.0.3 spec/stubs/all_spec.rb
lhs-25.0.2 spec/stubs/all_spec.rb
lhs-25.0.1 spec/stubs/all_spec.rb
lhs-25.0.0 spec/stubs/all_spec.rb
lhs-24.1.2 spec/stubs/all_spec.rb
lhs-24.1.1 spec/stubs/all_spec.rb
lhs-24.1.0 spec/stubs/all_spec.rb
lhs-24.1.0.pre.2 spec/stubs/all_spec.rb
lhs-24.1.0.pre.1 spec/stubs/all_spec.rb
lhs-24.0.0 spec/stubs/all_spec.rb
lhs-23.0.2 spec/stubs/all_spec.rb
lhs-23.0.1 spec/stubs/all_spec.rb
lhs-23.0.0 spec/stubs/all_spec.rb