Sha256: 491f219c8557da00073f3690ba214244ec2d96bc460ac37a7df49936c7f011cd

Contents?: true

Size: 1.08 KB

Versions: 12

Compression:

Stored size: 1.08 KB

Contents

require 'rails_helper'

describe LHS::Record do
  context '#persisted?' do
    let(:datastore) { 'http://local.ch/v2' }

    before(:each) do
      LHC.config.placeholder('datastore', datastore)
      class Feedback < LHS::Record
        endpoint ':datastore/content-ads/:campaign_id/feedbacks'
      end
    end

    context 'for new record' do
      subject { Feedback.new }

      it 'is false' do
        expect(subject.persisted?).to be(false)
      end
    end

    context 'for saved record' do
      let(:campaign_id) { 'aaa' }
      let(:parameters) do
        {
          recommended: true,
          campaign_id: campaign_id
        }
      end
      subject { Feedback.new(parameters) }

      before do
        stub_request(:post, "#{datastore}/content-ads/#{campaign_id}/feedbacks")
          .with(body: parameters.to_json)
          .to_return(status: 200, body: parameters.merge(href: "#{datastore}/content-ads/#{campaign_id}/feedbacks/123456789").to_json)
      end

      it 'is true' do
        subject.save
        expect(subject.persisted?).to be(true)
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
lhs-4.1.0 spec/record/persisted_spec.rb
lhs-4.0.0 spec/record/persisted_spec.rb
lhs-3.4.2 spec/record/persisted_spec.rb
lhs-3.4.1 spec/record/persisted_spec.rb
lhs-3.4.0 spec/record/persisted_spec.rb
lhs-3.3.6 spec/record/persisted_spec.rb
lhs-3.3.5 spec/record/persisted_spec.rb
lhs-3.3.3 spec/record/persisted_spec.rb
lhs-3.3.2 spec/record/persisted_spec.rb
lhs-3.3.1 spec/record/persisted_spec.rb
lhs-3.3.0 spec/record/persisted_spec.rb
lhs-3.2.0 spec/record/persisted_spec.rb