Sha256: a7a19e5b9fb47f3329f2e37a4f00235aa330c5e9d3792de2edd4fb9300ae8265

Contents?: true

Size: 1.15 KB

Versions: 12

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

require 'rails_helper'

describe DHS::Record do
  context 'save!' do
    context 'without href' do
      before do
        DHC.config.placeholder('datastore', datastore)
        class Feedback < DHS::Record
          endpoint '{+datastore}/content-ads/{campaign_id}/feedbacks'
        end
      end

      let(:datastore) { 'http://depay.fi/v2' }
      let(:campaign_id) { 12345 }
      let(:object) { { recommended: true } }
      let(:item) { Feedback.new(object.merge(campaign_id: campaign_id)) }
      let!(:request) do
        stub_request(:post, "#{datastore}/content-ads/#{campaign_id}/feedbacks")
          .with(body: object.to_json)
          .to_return(status: 200, body: object.to_json)
      end

      it 'removes params used to compute url from send data' do
        item.save!
        expect(request).to have_been_made.once
      end

      context 'item without data' do
        let(:item) { Feedback.new(object) }

        it 'takes params to find endpoint also from the options' do
          item.save!(params: { campaign_id: campaign_id })
          expect(request).to have_been_made.once
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
dhs-1.6.0 spec/record/save_spec.rb
dhs-1.5.0 spec/record/save_spec.rb
dhs-1.4.2 spec/record/save_spec.rb
dhs-1.4.1 spec/record/save_spec.rb
dhs-1.4.0 spec/record/save_spec.rb
dhs-1.3.0 spec/record/save_spec.rb
dhs-1.2.0 spec/record/save_spec.rb
dhs-1.1.0 spec/record/save_spec.rb
dhs-1.0.3 spec/record/save_spec.rb
dhs-1.0.2 spec/record/save_spec.rb
dhs-1.0.1 spec/record/save_spec.rb
dhs-1.0.0 spec/record/save_spec.rb