Sha256: f2c1cddbdd6ab73480adf4680365aba3539a2b8172839f702086f5faa94684d7

Contents?: true

Size: 1022 Bytes

Versions: 10

Compression:

Stored size: 1022 Bytes

Contents

require 'rails_helper'

describe LHS::Service do

  let(:datastore) { 'http://datastore-stg.lb-service.sunrise.intra.local.ch/v2' }

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

  context 'first' do

    it 'finds a single record' do
      stub_request(:get, "#{datastore}/feedbacks?limit=1")
        .to_return(status: 200, body: load_json(:feedback))

      SomeService.first.source_id
    end

    it 'returns nil if no record was found' do
      stub_request(:get, "#{datastore}/feedbacks?limit=1")
        .to_return(status: 404)
      expect(SomeService.first).to be_nil
    end
  end

  context 'first!' do

    it 'raises if nothing was found with parameters' do
      stub_request(:get, "#{datastore}/feedbacks?limit=1")
        .to_return(status: 404)
      expect { SomeService.first! }.to raise_error LHC::NotFound
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
lhs-1.3.1 spec/service/first_spec.rb
lhs-1.3.0 spec/service/first_spec.rb
lhs-1.2.3 spec/service/first_spec.rb
lhs-1.2.2 spec/service/first_spec.rb
lhs-1.2.1 spec/service/first_spec.rb
lhs-1.2.0 spec/service/first_spec.rb
lhs-1.1.0 spec/service/first_spec.rb
lhs-1.0.0 spec/service/first_spec.rb
lhs-0.4.0 spec/service/first_spec.rb
lhs-0.3.0 spec/service/first_spec.rb