Sha256: 60012b8ebf371ddbf0500abe4c3c26ccd464a6c773a7364cfaef3e257e37f962

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

require 'rails_helper'

describe LHC do

  context 'configuration of placeholders' do

    it 'uses values for placeholders defined globally' do
      LHC.configure { |c| c.placeholder(:datastore, 'http://datastore/v2') }
      stub_request(:get, "http://datastore/v2/feedbacks")
      LHC.get(':datastore/feedbacks')
    end

    it 'uses explicit values first' do
      LHC.configure {|c| c.placeholder(:campaign_id, '123') }
      stub_request(:get, 'http://datastore/v2/campaign/456/feedbacks')
      url = 'http://datastore/v2/campaign/:campaign_id/feedbacks'
      LHC.get(url, params: { campaign_id: '456' })
    end

    it 'raises in case of claching placeholder name' do
      LHC.configure { |c| c.placeholder(:datastore, 'http://datastore') }
      expect(->{
        LHC.config.placeholder(:datastore, 'http://datastore')
      }).to raise_error 'Placeholder already exists for that name'
    end

    it 'enforces placeholder name to be a symbol' do
      LHC.configure { |c| c.placeholder('datatore', 'http://datastore') }
      expect(LHC.config.placeholders[:datatore]).to eq 'http://datastore'
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lhc-3.4.0 spec/config/placeholders_spec.rb
lhc-3.3.0 spec/config/placeholders_spec.rb
lhc-3.2.0 spec/config/placeholders_spec.rb