Skip to content
Browse files

Merge pull request #8 from railsguru/master

Add specs for categories and fixes #7
  • Loading branch information...
2 parents 5601987 + e76f573 commit b2a3ed456b86682a4b51267fb0713b55c1151c16 @avdgaag committed Aug 8, 2012
Showing with 83 additions and 233 deletions.
  1. +1 −0 .gitignore
  2. +1 −1 lib/bol/parsers/categories.rb
  3. +25 −0 spec/bol/category_spec.rb
  4. +56 −232 spec/fixtures/categorylist.xml
View
1 .gitignore
@@ -4,3 +4,4 @@ Gemfile.lock
pkg/*
.rbenv-version
doc
+.rvmrc
View
2 lib/bol/parsers/categories.rb
@@ -2,7 +2,7 @@ module Bol
module Parsers
class Categories < Parser
def xpath
- '*/Category'
+ '*/xmlns:Category'
end
def parse_object(el)
View
25 spec/bol/category_spec.rb
@@ -0,0 +1,25 @@
+require 'spec_helper'
+
+describe Bol::Category do
+ describe '#categories' do
+ let(:r) { Bol.categories.all }
+
+ before do
+ Bol.configure access_key: 'foo', secret: 'bar'
+ FakeWeb.register_uri(:get, 'https://openapi.bol.com/openapi/services/rest/catalog/v3/listresults/toplist_default/0?categoryId=0&includeCategories=true&includeProducts=false&includeRefinements=false',
+ body: fixture('categorylist.xml'))
+ end
+ it 'should return an array of categories' do
+ r.should be_instance_of Array
+ end
+ it 'should have 9 categories' do
+ r.size.should == 9
+ end
+ it 'should have boeken as the first category' do
+ boeken = r.first
+ boeken.id.to_i.should == 8299
+ boeken.name.should == "Boeken"
+ boeken.count.should == 5129135
+ end
+ end
+end
View
288 spec/fixtures/categorylist.xml
@@ -1,232 +1,56 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<CategoryListResponse xmlns="http://openapi.bol.com/openapi-3.0.0">
- <SessionId>2957E300-B2AC-4749-99C5-12831D6286A2</SessionId>
- <Category>
- <Id>1</Id>
- <Name>categorieen</Name>
- <CategoryRefinement>
- <Id>1430</Id>
- <Name>Nederlandse boeken</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>3131</Id>
- <Name>Buitenlandse boeken</Name>
- </CategoryRefinement>
- </Category>
- <Category>
- <Id>1312</Id>
- <Name>taal</Name>
- <CategoryRefinement>
- <Id>8293</Id>
- <Name>Nederlandse boeken</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>8292</Id>
- <Name>Engelse boeken</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>8296</Id>
- <Name>Duitse boeken</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>8294</Id>
- <Name>Franse boeken</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>8298</Id>
- <Name>Spaanse boeken</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>8297</Id>
- <Name>Turkse boeken</Name>
- </CategoryRefinement>
- </Category>
- <Category>
- <Id>4852</Id>
- <Name>prijs</Name>
- <CategoryRefinement>
- <Id>7143</Id>
- <Name>Tot € 10</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4854</Id>
- <Name>Tot € 20</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4855</Id>
- <Name>Tot € 30</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4856</Id>
- <Name>Tot € 40</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4857</Id>
- <Name>Tot € 50</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4858</Id>
- <Name>Tot € 100</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>5014</Id>
- <Name>Tot € 200</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4860</Id>
- <Name>Tot € 300</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4861</Id>
- <Name>Tot € 400</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4862</Id>
- <Name>Tot € 500</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4863</Id>
- <Name>Tot € 750</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4864</Id>
- <Name>Tot € 1000</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4865</Id>
- <Name>Tot € 1500</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4866</Id>
- <Name>Tot € 2000</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>7346</Id>
- <Name>Tot € 2500</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4867</Id>
- <Name>€ 2500 en meer</Name>
- </CategoryRefinement>
- </Category>
- <Category>
- <Id>1317</Id>
- <Name>onderwerp</Name>
- <CategoryRefinement>
- <Id>4294965600</Id>
- <Name>2012</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294965780</Id>
- <Name>De beste luisterboeken voor in de file</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294966229</Id>
- <Name>De leukste luisterboeken voor op vakantie</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294966964</Id>
- <Name>Economie &amp; Management</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294966963</Id>
- <Name>Gedrag &amp; Maatschappij</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294966967</Id>
- <Name>Gezondheidszorg</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294965025</Id>
- <Name>Girl's only</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294965588</Id>
- <Name>Happinez</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294964522</Id>
- <Name>Jaarkalenders</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294964509</Id>
- <Name>Je eigen lichaam</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294965319</Id>
- <Name>Kalenders</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294966309</Id>
- <Name>Koopjeskelder uitverkoop</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294965337</Id>
- <Name>Luchtfotoboeken</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294965561</Id>
- <Name>Luisterboekenvoordeel!</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294966965</Id>
- <Name>Overige uittreksels</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294966948</Id>
- <Name>Rechten</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294965978</Id>
- <Name>Roman</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294966940</Id>
- <Name>Scandinavische thrillers</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294966380</Id>
- <Name>Scheurkalenders</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294964608</Id>
- <Name>Seizoenen</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294965664</Id>
- <Name>Spanning</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294965612</Id>
- <Name>Techniek &amp; Informatica</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294964491</Id>
- <Name>Vanaf 24 maanden</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294965320</Id>
- <Name>Verjaardagskalenders</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>4294966079</Id>
- <Name>Voordelige bestsellers</Name>
- </CategoryRefinement>
- </Category>
- <Category>
- <Id>7287</Id>
- <Name>aanraders</Name>
- <CategoryRefinement>
- <Id>7288</Id>
- <Name>Te reserveren</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>7290</Id>
- <Name>Bestbeoordeeld</Name>
- </CategoryRefinement>
- <CategoryRefinement>
- <Id>7289</Id>
- <Name>Nieuw verschenen</Name>
- </CategoryRefinement>
- </Category>
-</CategoryListResponse>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<ListResultResponse xmlns="http://openapi.bol.com/openapi-3.0.0">
+ <SessionId>3C45A0CA-CF29-4D0B-B4EB-1FE40D48A58D</SessionId>
+ <OriginalRequest>
+ <Category>
+ <Id>0</Id>
+ <Name>Alle artikelen</Name>
+ </Category>
+ </OriginalRequest>
+ <TotalResultSize>6378375</TotalResultSize>
+ <Category>
+ <Id>8299</Id>
+ <Name>Boeken</Name>
+ <ProductCount>5129135</ProductCount>
+ </Category>
+ <Category>
+ <Id>3132</Id>
+ <Name>Muziek</Name>
+ <ProductCount>578012</ProductCount>
+ </Category>
+ <Category>
+ <Id>3133</Id>
+ <Name>Dvd</Name>
+ <ProductCount>82007</ProductCount>
+ </Category>
+ <Category>
+ <Id>3135</Id>
+ <Name>Games</Name>
+ <ProductCount>11668</ProductCount>
+ </Category>
+ <Category>
+ <Id>7934</Id>
+ <Name>Speelgoed</Name>
+ <ProductCount>16209</ProductCount>
+ </Category>
+ <Category>
+ <Id>11271</Id>
+ <Name>Baby</Name>
+ <ProductCount>6662</ProductCount>
+ </Category>
+ <Category>
+ <Id>11764</Id>
+ <Name>Koken, Tafelen en Huishouden</Name>
+ <ProductCount>14519</ProductCount>
+ </Category>
+ <Category>
+ <Id>3136</Id>
+ <Name>Elektronica</Name>
+ <ProductCount>17328</ProductCount>
+ </Category>
+ <Category>
+ <Id>3134</Id>
+ <Name>Computer</Name>
+ <ProductCount>7660</ProductCount>
+ </Category>
+</ListResultResponse>

0 comments on commit b2a3ed4

Please sign in to comment.
Something went wrong with that request. Please try again.