1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
require 'spec_helper'
require_relative './../../examples/amazon'
describe PITA::ItemSearchResponse do
before do
@response = PITA::ItemSearchResponse.from_xml(xml_for('amazon'))
end
describe "#total_results" do
it "should be parsed as a number" do
expect(@response.total_results).to be > 0
end
end
describe "#total_pages" do
it "should be parsed as a number" do
expect(@response.total_pages).to be > 0
end
end
describe "#items" do
it "should return a collection of items" do
expect(@response.items).to be_an_instance_of(Array)
expect(@response.items.size).to be > 0
@response.items.each {|item| expect(item).to be_an_instance_of(PITA::Item) }
end
it "should have the some number less than or equal to #total_results" do
expect(@response.items.size).to be > 0
expect(@response.items.size).to be <= @response.total_results
end
end
end
describe PITA::Item do
before do
@items = PITA::ItemSearchResponse.from_xml(xml_for('amazon')).items
end
it "should extract asin" do
@items.each {|item| expect(item.asin).to be_an_instance_of(String) }
@items.each {|item| expect(item.asin).to_not be_empty }
end
it "should extract detail_page_url" do
@items.each {|item| expect(item.detail_page_url).to be_an_instance_of(String) }
@items.each {|item| expect(item.detail_page_url).to_not be_empty }
end
it "should extract manufacturer" do
@items.each {|item| expect(item.manufacturer).to be_an_instance_of(String) }
@items.each {|item| expect(item.manufacturer).to_not be_empty }
end
end
|