Sha256: d53f4d26126f0c9c41fa2b6236a0989cdd0b9ec60488a332df40d7775d210827

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

require 'rspec'

describe RakutenWebService::Books::Total do
  let(:endpoint) { 'https://app.rakuten.co.jp/services/api/BooksTotal/Search/20130522' }
  let(:affiliate_id) { 'dummy_affiliate_id' }
  let(:application_id) { 'dummy_application_id' }
  let(:expected_query) do
    {
      affiliateId: affiliate_id,
      applicationId: application_id,
      keyword: 'Ruby'
    }
  end

  before do
    RakutenWebService.configure do |c|
      c.affiliate_id = affiliate_id
      c.application_id = application_id
    end
  end

  describe '.search' do
    before do
      response = JSON.parse(fixture('books/total_search_with_keyword_Ruby.json'))
      @expected_request = stub_request(:get, endpoint).
        with(query: expected_query).to_return(body: response.to_json)
    end

    specify 'call endpoint when accessing results' do
      items = RakutenWebService::Books::Total.search(keyword: 'Ruby')
      expect(@expected_request).to_not have_been_made

      item = items.first
      expect(@expected_request).to have_been_made.once
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rakuten_web_service-1.5.0 spec/rakuten_web_service/books/total_spec.rb
rakuten_web_service-1.4.2 spec/rakuten_web_service/books/total_spec.rb