Sha256: bf1c1fe7db8a15c35488697d23916ab0438d5660dffbeb9a30bfb6978152b2a4

Contents?: true

Size: 1.35 KB

Versions: 5

Compression:

Stored size: 1.35 KB

Contents

require 'rails_helper'

describe LHC do
  context 'post' do
    let(:feedback) do
      {
        recommended: false,
        source_id: 'aaa',
        content_ad_id: '1z-5r1fkaj'
      }
    end

    let(:change) do
      {
        recommended: false
      }
    end

    before(:each) do
      stub_request(:put, "http://datastore/v2/feedbacks")
        .with(body: change.to_json)
        .to_return(status: 200, body: feedback.merge(change).to_json, headers: { 'Content-Encoding' => 'UTF-8' })
    end

    it 'does a post request when providing a complete url' do
      described_class.put('http://datastore/v2/feedbacks', body: change.to_json)
    end

    it 'does a post request when providing the name of a configured endpoint' do
      url = 'http://:datastore/v2/feedbacks'
      options = { params: { datastore: 'datastore' } }
      described_class.configure { |c| c.endpoint(:feedbacks, url, options) }
      described_class.put(:feedbacks, body: change.to_json)
    end

    it 'it makes response data available in a rails way' do
      response = described_class.put('http://datastore/v2/feedbacks', body: change.to_json)
      expect(response.data.recommended).to eq false
    end

    it 'provides response headers' do
      response = described_class.put('http://datastore/v2/feedbacks', body: change.to_json)
      expect(response.headers).to be
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lhc-3.5.4 spec/basic_methods/put_spec.rb
lhc-3.5.3 spec/basic_methods/put_spec.rb
lhc-3.5.2 spec/basic_methods/put_spec.rb
lhc-3.5.1 spec/basic_methods/put_spec.rb
lhc-3.5.0 spec/basic_methods/put_spec.rb