Sha256: 8d902d0819037df96f80bee23e505aaa5e2992a631b6eea2ef6c0fcc99327b60

Contents?: true

Size: 1.23 KB

Versions: 2

Compression:

Stored size: 1.23 KB

Contents

require 'spec_helper'

module Fassbinder
  describe Response do
    use_vcr_cassette 'batch-request'

    let(:asins) do
      # The last ASIN does not exist.
      %w{
        0816614024 0143105825 0485113600 0816616779 0942299078
        0816614008 144006654X 0486400360 0486417670 087220474X
        0486454398 0268018359 1604246014 184467598X 0312427182
        1844674282 0745640974 0745646441 0826489540 2081232191 }
    end

    let(:response) do
      request = Request.new(credentials)
      request.locale = :us
      request.batchify(asins)
      request.get
    end

    describe ".new" do
      it "raises an error if response is not valid" do
        response = mock('Response')
        response.stub!(:valid?).and_return(false)

        expect do
          Response.new(response, :us)
        end.to raise_error InvalidResponseError
      end
    end

    describe "#to_a" do
      it "returns an array of books" do
        books = response.to_a

        books.count.should eql 19
        books.first.should be_a Kosher::Book
      end
    end

    describe "#errors" do
      it "should return ASINs that are not found" do
        response.errors.count.should eql 1
        response.errors.first.should eql '2081232191'
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fassbinder-0.0.8 spec/fassbinder/response_spec.rb
fassbinder-0.0.7 spec/fassbinder/response_spec.rb