beatport 0.1.3 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/Gemfile +7 -5
  2. data/Gemfile.lock +22 -20
  3. data/Rakefile +7 -7
  4. data/VERSION +1 -1
  5. data/beatport.gemspec +56 -20
  6. data/lib/beatport/catalog.rb +2 -0
  7. data/lib/beatport/catalog/djprofile.rb +7 -0
  8. data/lib/beatport/catalog/part.rb +7 -0
  9. data/lib/beatport/support/query_builder.rb +1 -1
  10. data/spec/catalog/account_type_spec.rb +18 -5
  11. data/spec/catalog/artist_spec.rb +61 -41
  12. data/spec/catalog/audio_format_spec.rb +12 -4
  13. data/spec/catalog/autocomplete_spec.rb +9 -3
  14. data/spec/catalog/chart_spec.rb +11 -5
  15. data/spec/catalog/country_spec.rb +4 -2
  16. data/spec/catalog/currency_spec.rb +3 -1
  17. data/spec/catalog/genre_spec.rb +30 -12
  18. data/spec/catalog/home_spec.rb +7 -5
  19. data/spec/catalog/label_spec.rb +21 -10
  20. data/spec/catalog/release_spec.rb +11 -7
  21. data/spec/catalog/search_spec.rb +22 -8
  22. data/spec/catalog/slide_spec.rb +4 -0
  23. data/spec/catalog/source_type_spec.rb +3 -1
  24. data/spec/catalog/track_spec.rb +9 -7
  25. data/spec/fixtures/account_type_all.yml +40 -0
  26. data/spec/fixtures/account_type_visa.yml +38 -0
  27. data/spec/fixtures/artist_7181.yml +43 -0
  28. data/spec/fixtures/artist_7181_7182.yml +44 -0
  29. data/spec/fixtures/artist_7181_top_downloads.yml +105 -0
  30. data/spec/fixtures/artist_all.yml +64 -0
  31. data/spec/fixtures/artist_all_5_per_page.yml +53 -0
  32. data/spec/fixtures/artist_all_for_facets.yml +38 -0
  33. data/spec/fixtures/artist_all_return_facets.yml +144 -0
  34. data/spec/fixtures/artist_all_sorted.yml +44 -0
  35. data/spec/fixtures/audio_format_2.yml +38 -0
  36. data/spec/fixtures/audio_format_all.yml +44 -0
  37. data/spec/fixtures/audio_format_wav.yml +38 -0
  38. data/spec/fixtures/autocomplete_lutzen.yml +41 -0
  39. data/spec/fixtures/autocomplete_lutzen_page_3.yml +39 -0
  40. data/spec/fixtures/chart_15722.yml +39 -0
  41. data/spec/fixtures/country_au.yml +43 -0
  42. data/spec/fixtures/currency_all.yml +127 -0
  43. data/spec/fixtures/genre_7.yml +38 -0
  44. data/spec/fixtures/genre_all.yml +47 -0
  45. data/spec/fixtures/genre_all_with_subgenres.yml +62 -0
  46. data/spec/fixtures/genre_invalid.yml +38 -0
  47. data/spec/fixtures/label_1390.yml +43 -0
  48. data/spec/fixtures/label_all.yml +76 -0
  49. data/spec/fixtures/release_164808.yml +55 -0
  50. data/spec/fixtures/search_ANJCDCO011D.yml +38 -0
  51. data/spec/fixtures/search_anjunadeep_genre_trance.yml +101 -0
  52. data/spec/fixtures/search_archipel.yml +102 -0
  53. data/spec/fixtures/search_believe_2004.yml +220 -0
  54. data/spec/fixtures/source_type_all.yml +38 -0
  55. data/spec/fixtures/track_1217790.yml +45 -0
  56. data/spec/spec_helper.rb +7 -0
  57. metadata +179 -134
data/Gemfile CHANGED
@@ -9,10 +9,12 @@ gem 'money' # https://github.com/aflatter/money
9
9
  # Add dependencies to develop your gem here.
10
10
  # Include everything needed to run rake, tests, features, etc.
11
11
  group :development do
12
- gem "rspec", ">= 0"
13
- gem "bundler", "~> 1.0.0"
14
- gem "jeweler", "~> 1.6.3"
15
- gem "rcov", ">= 0"
16
- gem 'yard', '>=0'
12
+ gem 'bundler'
13
+ gem 'fakeweb'
14
+ gem 'jeweler', '~> 1.6.3'
15
+ #gem "rcov", ">= 0"
17
16
  gem 'log_buddy'
17
+ gem 'rspec', '>= 0'
18
+ gem 'yard', '>=0'
19
+ gem 'vcr'
18
20
  end
data/Gemfile.lock CHANGED
@@ -2,43 +2,45 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  diff-lcs (1.1.3)
5
+ fakeweb (1.3.0)
5
6
  git (1.2.5)
6
- httparty (0.8.1)
7
- multi_json
7
+ httparty (0.9.0)
8
+ multi_json (~> 1.0)
8
9
  multi_xml
9
- i18n (0.6.0)
10
+ i18n (0.6.1)
10
11
  jeweler (1.6.4)
11
12
  bundler (~> 1.0)
12
13
  git (>= 1.2.5)
13
14
  rake
14
- json (1.6.3)
15
- log_buddy (0.6.0)
16
- money (4.0.1)
15
+ json (1.7.5)
16
+ log_buddy (0.7.0)
17
+ money (5.0.0)
17
18
  i18n (~> 0.4)
18
19
  json
19
- multi_json (1.0.4)
20
- multi_xml (0.4.1)
20
+ multi_json (1.3.6)
21
+ multi_xml (0.5.1)
21
22
  rake (0.9.2.2)
22
- rcov (0.9.11)
23
- rspec (2.7.0)
24
- rspec-core (~> 2.7.0)
25
- rspec-expectations (~> 2.7.0)
26
- rspec-mocks (~> 2.7.0)
27
- rspec-core (2.7.1)
28
- rspec-expectations (2.7.0)
29
- diff-lcs (~> 1.1.2)
30
- rspec-mocks (2.7.0)
31
- yard (0.7.3)
23
+ rspec (2.11.0)
24
+ rspec-core (~> 2.11.0)
25
+ rspec-expectations (~> 2.11.0)
26
+ rspec-mocks (~> 2.11.0)
27
+ rspec-core (2.11.1)
28
+ rspec-expectations (2.11.3)
29
+ diff-lcs (~> 1.1.3)
30
+ rspec-mocks (2.11.3)
31
+ vcr (2.2.5)
32
+ yard (0.8.2.1)
32
33
 
33
34
  PLATFORMS
34
35
  ruby
35
36
 
36
37
  DEPENDENCIES
37
- bundler (~> 1.0.0)
38
+ bundler
39
+ fakeweb
38
40
  httparty
39
41
  jeweler (~> 1.6.3)
40
42
  log_buddy
41
43
  money
42
- rcov
43
44
  rspec
45
+ vcr
44
46
  yard
data/Rakefile CHANGED
@@ -27,13 +27,13 @@ Jeweler::RubygemsDotOrgTasks.new
27
27
 
28
28
  #task :default => :test
29
29
 
30
- require 'rcov/rcovtask'
31
- Rcov::RcovTask.new do |test|
32
- test.libs << 'test'
33
- test.pattern = 'test/**/test_*.rb'
34
- test.verbose = true
35
- test.rcov_opts << '--exclude "gems/*"'
36
- end
30
+ #require 'rcov/rcovtask'
31
+ #Rcov::RcovTask.new do |test|
32
+ # test.libs << 'test'
33
+ # test.pattern = 'test/**/test_*.rb'
34
+ # test.verbose = true
35
+ # test.rcov_opts << '--exclude "gems/*"'
36
+ #end
37
37
 
38
38
 
39
39
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.5
data/beatport.gemspec CHANGED
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{beatport}
8
- s.version = "0.1.3"
7
+ s.name = "beatport"
8
+ s.version = "0.1.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Mateo Murphy"]
12
- s.date = %q{2011-12-25}
13
- s.description = %q{A ruby gem for accessing the beatport api}
14
- s.email = %q{mateo.murphy@gmail.com}
12
+ s.date = "2012-10-10"
13
+ s.description = "A ruby gem for accessing the beatport api"
14
+ s.email = "mateo.murphy@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.rdoc"
@@ -37,6 +37,7 @@ Gem::Specification.new do |s|
37
37
  "lib/beatport/catalog/chart_overview.rb",
38
38
  "lib/beatport/catalog/country.rb",
39
39
  "lib/beatport/catalog/currency.rb",
40
+ "lib/beatport/catalog/djprofile.rb",
40
41
  "lib/beatport/catalog/feature.rb",
41
42
  "lib/beatport/catalog/genre.rb",
42
43
  "lib/beatport/catalog/home.rb",
@@ -48,6 +49,7 @@ Gem::Specification.new do |s|
48
49
  "lib/beatport/catalog/label.rb",
49
50
  "lib/beatport/catalog/list.rb",
50
51
  "lib/beatport/catalog/mixed.rb",
52
+ "lib/beatport/catalog/part.rb",
51
53
  "lib/beatport/catalog/recommendations.rb",
52
54
  "lib/beatport/catalog/release.rb",
53
55
  "lib/beatport/catalog/search.rb",
@@ -84,16 +86,47 @@ Gem::Specification.new do |s|
84
86
  "spec/catalog/source_type_spec.rb",
85
87
  "spec/catalog/track_spec.rb",
86
88
  "spec/collection_spec.rb",
89
+ "spec/fixtures/account_type_all.yml",
90
+ "spec/fixtures/account_type_visa.yml",
91
+ "spec/fixtures/artist_7181.yml",
92
+ "spec/fixtures/artist_7181_7182.yml",
93
+ "spec/fixtures/artist_7181_top_downloads.yml",
94
+ "spec/fixtures/artist_all.yml",
95
+ "spec/fixtures/artist_all_5_per_page.yml",
96
+ "spec/fixtures/artist_all_for_facets.yml",
97
+ "spec/fixtures/artist_all_return_facets.yml",
98
+ "spec/fixtures/artist_all_sorted.yml",
99
+ "spec/fixtures/audio_format_2.yml",
100
+ "spec/fixtures/audio_format_all.yml",
101
+ "spec/fixtures/audio_format_wav.yml",
102
+ "spec/fixtures/autocomplete_lutzen.yml",
103
+ "spec/fixtures/autocomplete_lutzen_page_3.yml",
104
+ "spec/fixtures/chart_15722.yml",
105
+ "spec/fixtures/country_au.yml",
106
+ "spec/fixtures/currency_all.yml",
107
+ "spec/fixtures/genre_7.yml",
108
+ "spec/fixtures/genre_all.yml",
109
+ "spec/fixtures/genre_all_with_subgenres.yml",
110
+ "spec/fixtures/genre_invalid.yml",
111
+ "spec/fixtures/label_1390.yml",
112
+ "spec/fixtures/label_all.yml",
113
+ "spec/fixtures/release_164808.yml",
114
+ "spec/fixtures/search_ANJCDCO011D.yml",
115
+ "spec/fixtures/search_anjunadeep_genre_trance.yml",
116
+ "spec/fixtures/search_archipel.yml",
117
+ "spec/fixtures/search_believe_2004.yml",
118
+ "spec/fixtures/source_type_all.yml",
119
+ "spec/fixtures/track_1217790.yml",
87
120
  "spec/item_spec.rb",
88
121
  "spec/spec_helper.rb",
89
122
  "spec/support/inflector_spec.rb",
90
123
  "spec/support/query_builder_spec.rb"
91
124
  ]
92
- s.homepage = %q{http://github.com/mateomurphy/beatport}
125
+ s.homepage = "http://github.com/mateomurphy/beatport"
93
126
  s.licenses = ["MIT"]
94
127
  s.require_paths = ["lib"]
95
- s.rubygems_version = %q{1.5.2}
96
- s.summary = %q{ruby gem for accessing the beatport api}
128
+ s.rubygems_version = "1.8.24"
129
+ s.summary = "ruby gem for accessing the beatport api"
97
130
 
98
131
  if s.respond_to? :specification_version then
99
132
  s.specification_version = 3
@@ -101,31 +134,34 @@ Gem::Specification.new do |s|
101
134
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
102
135
  s.add_runtime_dependency(%q<httparty>, [">= 0"])
103
136
  s.add_runtime_dependency(%q<money>, [">= 0"])
104
- s.add_development_dependency(%q<rspec>, [">= 0"])
105
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
137
+ s.add_development_dependency(%q<bundler>, [">= 0"])
138
+ s.add_development_dependency(%q<fakeweb>, [">= 0"])
106
139
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.3"])
107
- s.add_development_dependency(%q<rcov>, [">= 0"])
108
- s.add_development_dependency(%q<yard>, [">= 0"])
109
140
  s.add_development_dependency(%q<log_buddy>, [">= 0"])
141
+ s.add_development_dependency(%q<rspec>, [">= 0"])
142
+ s.add_development_dependency(%q<yard>, [">= 0"])
143
+ s.add_development_dependency(%q<vcr>, [">= 0"])
110
144
  else
111
145
  s.add_dependency(%q<httparty>, [">= 0"])
112
146
  s.add_dependency(%q<money>, [">= 0"])
113
- s.add_dependency(%q<rspec>, [">= 0"])
114
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
147
+ s.add_dependency(%q<bundler>, [">= 0"])
148
+ s.add_dependency(%q<fakeweb>, [">= 0"])
115
149
  s.add_dependency(%q<jeweler>, ["~> 1.6.3"])
116
- s.add_dependency(%q<rcov>, [">= 0"])
117
- s.add_dependency(%q<yard>, [">= 0"])
118
150
  s.add_dependency(%q<log_buddy>, [">= 0"])
151
+ s.add_dependency(%q<rspec>, [">= 0"])
152
+ s.add_dependency(%q<yard>, [">= 0"])
153
+ s.add_dependency(%q<vcr>, [">= 0"])
119
154
  end
120
155
  else
121
156
  s.add_dependency(%q<httparty>, [">= 0"])
122
157
  s.add_dependency(%q<money>, [">= 0"])
123
- s.add_dependency(%q<rspec>, [">= 0"])
124
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
158
+ s.add_dependency(%q<bundler>, [">= 0"])
159
+ s.add_dependency(%q<fakeweb>, [">= 0"])
125
160
  s.add_dependency(%q<jeweler>, ["~> 1.6.3"])
126
- s.add_dependency(%q<rcov>, [">= 0"])
127
- s.add_dependency(%q<yard>, [">= 0"])
128
161
  s.add_dependency(%q<log_buddy>, [">= 0"])
162
+ s.add_dependency(%q<rspec>, [">= 0"])
163
+ s.add_dependency(%q<yard>, [">= 0"])
164
+ s.add_dependency(%q<vcr>, [">= 0"])
129
165
  end
130
166
  end
131
167
 
@@ -9,6 +9,7 @@ module Beatport
9
9
  autoload :ChartOverview, 'beatport/catalog/chart_overview'
10
10
  autoload :Country, 'beatport/catalog/country'
11
11
  autoload :Currency, 'beatport/catalog/currency'
12
+ autoload :Djprofile, 'beatport/catalog/djprofile'
12
13
  autoload :Feature, 'beatport/catalog/feature'
13
14
  autoload :Genre, 'beatport/catalog/genre'
14
15
  autoload :Home, 'beatport/catalog/home'
@@ -20,6 +21,7 @@ module Beatport
20
21
  autoload :Label, 'beatport/catalog/label'
21
22
  autoload :List, 'beatport/catalog/list'
22
23
  autoload :Mixed, 'beatport/catalog/mixed'
24
+ autoload :Part, 'beatport/catalog/part'
23
25
  autoload :Recommendations, 'beatport/catalog/recommendations'
24
26
  autoload :Release, 'beatport/catalog/release'
25
27
  autoload :Search, 'beatport/catalog/search'
@@ -0,0 +1,7 @@
1
+ module Beatport
2
+ module Catalog
3
+ class Djprofile < Item
4
+
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Beatport
2
+ module Catalog
3
+ class Part < Item
4
+
5
+ end
6
+ end
7
+ end
@@ -60,7 +60,7 @@ module Beatport
60
60
  def process_facets(values)
61
61
  map_values(values) do |value|
62
62
  k, v = split_value(value, ':')
63
- v.to_a.map {|v| "#{k}:#{v}"}.join(',')
63
+ Array(v).map {|v| "#{k}:#{v}"}.join(',')
64
64
  end
65
65
  end
66
66
 
@@ -3,20 +3,28 @@ require 'spec_helper'
3
3
  module Beatport::Catalog
4
4
  describe AccountType do
5
5
  describe 'structure' do
6
- subject { AccountType.all.first }
6
+ subject do
7
+ VCR.use_cassette "account_type_all" do
8
+ AccountType.all.first
9
+ end
10
+ end
7
11
 
8
12
  it { should be_an(AccountType) }
9
13
  its (:code) { should == "AMEX" }
10
- its (:bpid) { should == "1" }
14
+ its (:bpid) { should == 1 }
11
15
  its (:name) { should == "American Express"}
12
16
  its (:cybersource_card_type) { should == "003" }
13
17
  its (:issue_number_or_start_date_required) { should == false }
14
18
  its (:validation_regex) { should == /^3[47][0-9]{13}$/ }
15
- its (:'images.small.url') { should == "https://ak-secure-beatport.bpddn.com/images/creditcard/logo_cc_amex_37x23.gif"}
19
+ its (:'images.small.url') { should == "https://secure-beatport.bpddn.com/images/creditcard/logo_cc_amex_37x23.gif"}
16
20
  end
17
21
 
18
22
  describe '.all' do
19
- subject { AccountType.all }
23
+ subject do
24
+ VCR.use_cassette "account_type_all" do
25
+ AccountType.all
26
+ end
27
+ end
20
28
 
21
29
  its (:length) { should be > 1 }
22
30
  end
@@ -29,7 +37,12 @@ module Beatport::Catalog
29
37
  end
30
38
 
31
39
  context "by name" do
32
- subject { AccountType.find('Visa') }
40
+ subject do
41
+ VCR.use_cassette "account_type_visa" do
42
+ AccountType.find('Visa')
43
+ end
44
+ end
45
+
33
46
  its (:name) { should == "Visa" }
34
47
  end
35
48
  end
@@ -3,7 +3,9 @@ require 'spec_helper'
3
3
  module Beatport::Catalog
4
4
  describe Artist do
5
5
  describe 'structure' do
6
- subject { Artist.find(7181) }
6
+ subject do
7
+ VCR.use_cassette('artist_7181') { Artist.find(7181) }
8
+ end
7
9
 
8
10
  it { should be_an(Artist) }
9
11
  its (:id) { should == 7181 }
@@ -13,24 +15,28 @@ module Beatport::Catalog
13
15
  its (:last_publish_date) { should >= Date.new(2011, 12, 15)}
14
16
  its (:biography) { should == "" }
15
17
  its (:'genres.length') { should be > 1 }
16
- its (:'sub_genres.length') { should be > 1 }
17
- its (:'top_downloads.length') { should be > 1 }
18
- its (:'images.small.url') { should == "http://geo-media.beatport.com/items/imageCatalog/0/400000/90000/1000/500/20/491527.jpg" }
19
- its (:'images.medium.url') { should == "http://geo-media.beatport.com/items/imageCatalog/0/400000/90000/1000/500/30/491530.jpg" }
20
- its (:'images.large.url') { should == "http://geo-media.beatport.com/items/imageCatalog/4000000/600000/80000/6000/400/20/4686424.jpg" }
18
+ its (:'sub_genres.length') { should be > 1 }
19
+ its (:'top_downloads.length') { VCR.use_cassette('artist_7181_top_downloads') { should be > 1 } }
20
+ its (:'images.small.url') { should == "http://geo-media.beatport.com/image/491527.jpg" }
21
+ its (:'images.medium.url') { should == "http://geo-media.beatport.com/image/491530.jpg" }
22
+ its (:'images.large.url') { should == "http://geo-media.beatport.com/image/4686424.jpg" }
21
23
  # its (:'featured_releases.length') { should be > 1 }
22
24
  end
23
25
 
24
26
  describe '.find' do
25
27
  context 'with a single id' do
26
- subject { Artist.find(7181) }
28
+ subject do
29
+ VCR.use_cassette('artist_7181') { Artist.find(7181) }
30
+ end
27
31
 
28
32
  it { should be_an(Artist) }
29
33
  its (:id) { should == 7181 }
30
34
  end
31
35
 
32
36
  context 'with multiple ids' do
33
- subject { Artist.find(7181, 7182) }
37
+ subject do
38
+ VCR.use_cassette('artist_7181_7182') { Artist.find(7181, 7182) }
39
+ end
34
40
 
35
41
  # it { should be_a(Collection) }
36
42
  its (:length) { should == 2 }
@@ -40,7 +46,9 @@ module Beatport::Catalog
40
46
  end
41
47
 
42
48
  context 'with an array of ids' do
43
- subject { Artist.find([7181, 7182]) }
49
+ subject do
50
+ VCR.use_cassette('artist_7181_7182') { Artist.find(7181, 7182) }
51
+ end
44
52
 
45
53
  # it { should be_a(Collection) }
46
54
  its (:length) { should == 2 }
@@ -52,53 +60,65 @@ module Beatport::Catalog
52
60
 
53
61
  describe '.all' do
54
62
  it "should get arbitrary artists" do
55
- artists = Artist.all
56
- artists.length.should == 10
63
+ VCR.use_cassette('artist_all') do
64
+ artists = Artist.all
65
+ artists.length.should == 10
66
+ end
57
67
  end
58
68
 
59
69
  it "should get the first page with 5 artists per page" do
60
- artists = Artist.all :per_page => 5, :page => 1
61
- artists.length.should == 5
62
- artists.page.should == 1
63
- artists.per_page.should == 5
70
+ VCR.use_cassette('artist_all_5_per_page') do
71
+ artists = Artist.all :per_page => 5, :page => 1
72
+ artists.length.should == 5
73
+ artists.page.should == 1
74
+ artists.per_page.should == 5
75
+ end
64
76
  end
65
77
 
66
78
  it "should get the first page with 5 artists per page, sorted by publish date and artist id, for the House genre" do
67
- artists = Artist.all(:sort_by=> {:publish_date => 'asc', :artist_id => 'asc'}, :genre_id=> 5, :per_page=>5, :page=>1)
68
- artists.length.should == 5
69
-
70
- old_id = nil
71
- old_date = artists.first.last_publish_date
72
-
73
- artists.each do |artist|
74
- old_id = nil if old_date.to_s != artist.last_publish_date.to_s
79
+ VCR.use_cassette('artist_all_sorted') do
80
+ artists = Artist.all(:sort_by=> { :publish_date => 'asc', :artist_id => 'asc' }, :genre_id=> 5, :per_page=>5, :page=>1)
81
+ artists.length.should == 5
75
82
 
76
- # beatport has some bad genre data?
77
- # artist.genres.map(&:id).should include(5)
78
- artist.id.should be >= old_id if old_id
79
- artist.last_publish_date.should be >= old_date if old_date
83
+ old_id = nil
84
+ old_date = artists.first.last_publish_date
80
85
 
81
- old_id = artist.id
82
- old_date = artist.publish_date
86
+ artists.each do |artist|
87
+ old_id = nil if old_date.to_s != artist.last_publish_date.to_s
88
+
89
+ # beatport has some bad genre data?
90
+ # artist.genres.map(&:id).should include(5)
91
+ artist.id.should be >= old_id if old_id
92
+ artist.last_publish_date.should be >= old_date if old_date
93
+
94
+ old_id = artist.id
95
+ old_date = artist.publish_date
96
+ end
83
97
  end
84
98
  end
85
99
 
86
100
  it "should get arbitrary artists with filter metadata for all genre names and artist names" do
87
- artists = Artist.all :return_facets => ['genre_name', 'performer_name']
88
-
89
- artists.facets['fields']['performer_name'].count.should be > 1
90
- artists.facets['fields']['genre_name'].count.should be > 1
101
+ VCR.use_cassette('artist_all_return_facets') do
102
+ artists = Artist.all :return_facets => ['genre_name', 'performer_name']
103
+
104
+ artists.facets['fields']['performer_name'].count.should be > 1
105
+ artists.facets['fields']['genre_name'].count.should be > 1
106
+ end
91
107
  end
92
108
 
93
109
  it "should get all trance artists for above & beyond" do
94
- artists = Artist.all :facets => {:genre_name => ['Trance', 'Progessive House']}
95
-
96
- artists.each do |artist|
97
- artists = artist['artists'].map { |a| a['name'] }
98
- artists.should include("Above & Beyond")
99
-
100
- genres = artist['genres'].map { |a| a['name'] }
101
- genres.should include('Trance')
110
+ pending "Request doesn't return any results"
111
+
112
+ VCR.use_cassette('artist_all_for_facets') do
113
+ artists = Artist.all :facets => {:genre_name => ['Trance', 'Progessive House']}
114
+
115
+ artists.each do |artist|
116
+ artists = artist['artists'].map { |a| a['name'] }
117
+ artists.should include("Above & Beyond")
118
+
119
+ genres = artist['genres'].map { |a| a['name'] }
120
+ genres.should include('Trance')
121
+ end
102
122
  end
103
123
  end
104
124
  end