Sha256: e7e19ec78fa0bb455268037db9bde3b655c74c3a6976c507f966ed98b0161fc4

Contents?: true

Size: 1.2 KB

Versions: 5

Compression:

Stored size: 1.2 KB

Contents

require 'rails_helper'

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

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

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

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lhc-3.5.4 spec/config/placeholders_spec.rb
lhc-3.5.3 spec/config/placeholders_spec.rb
lhc-3.5.2 spec/config/placeholders_spec.rb
lhc-3.5.1 spec/config/placeholders_spec.rb
lhc-3.5.0 spec/config/placeholders_spec.rb