beatport 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +7 -5
- data/Gemfile.lock +22 -20
- data/Rakefile +7 -7
- data/VERSION +1 -1
- data/beatport.gemspec +56 -20
- data/lib/beatport/catalog.rb +2 -0
- data/lib/beatport/catalog/djprofile.rb +7 -0
- data/lib/beatport/catalog/part.rb +7 -0
- data/lib/beatport/support/query_builder.rb +1 -1
- data/spec/catalog/account_type_spec.rb +18 -5
- data/spec/catalog/artist_spec.rb +61 -41
- data/spec/catalog/audio_format_spec.rb +12 -4
- data/spec/catalog/autocomplete_spec.rb +9 -3
- data/spec/catalog/chart_spec.rb +11 -5
- data/spec/catalog/country_spec.rb +4 -2
- data/spec/catalog/currency_spec.rb +3 -1
- data/spec/catalog/genre_spec.rb +30 -12
- data/spec/catalog/home_spec.rb +7 -5
- data/spec/catalog/label_spec.rb +21 -10
- data/spec/catalog/release_spec.rb +11 -7
- data/spec/catalog/search_spec.rb +22 -8
- data/spec/catalog/slide_spec.rb +4 -0
- data/spec/catalog/source_type_spec.rb +3 -1
- data/spec/catalog/track_spec.rb +9 -7
- data/spec/fixtures/account_type_all.yml +40 -0
- data/spec/fixtures/account_type_visa.yml +38 -0
- data/spec/fixtures/artist_7181.yml +43 -0
- data/spec/fixtures/artist_7181_7182.yml +44 -0
- data/spec/fixtures/artist_7181_top_downloads.yml +105 -0
- data/spec/fixtures/artist_all.yml +64 -0
- data/spec/fixtures/artist_all_5_per_page.yml +53 -0
- data/spec/fixtures/artist_all_for_facets.yml +38 -0
- data/spec/fixtures/artist_all_return_facets.yml +144 -0
- data/spec/fixtures/artist_all_sorted.yml +44 -0
- data/spec/fixtures/audio_format_2.yml +38 -0
- data/spec/fixtures/audio_format_all.yml +44 -0
- data/spec/fixtures/audio_format_wav.yml +38 -0
- data/spec/fixtures/autocomplete_lutzen.yml +41 -0
- data/spec/fixtures/autocomplete_lutzen_page_3.yml +39 -0
- data/spec/fixtures/chart_15722.yml +39 -0
- data/spec/fixtures/country_au.yml +43 -0
- data/spec/fixtures/currency_all.yml +127 -0
- data/spec/fixtures/genre_7.yml +38 -0
- data/spec/fixtures/genre_all.yml +47 -0
- data/spec/fixtures/genre_all_with_subgenres.yml +62 -0
- data/spec/fixtures/genre_invalid.yml +38 -0
- data/spec/fixtures/label_1390.yml +43 -0
- data/spec/fixtures/label_all.yml +76 -0
- data/spec/fixtures/release_164808.yml +55 -0
- data/spec/fixtures/search_ANJCDCO011D.yml +38 -0
- data/spec/fixtures/search_anjunadeep_genre_trance.yml +101 -0
- data/spec/fixtures/search_archipel.yml +102 -0
- data/spec/fixtures/search_believe_2004.yml +220 -0
- data/spec/fixtures/source_type_all.yml +38 -0
- data/spec/fixtures/track_1217790.yml +45 -0
- data/spec/spec_helper.rb +7 -0
- metadata +179 -134
@@ -3,7 +3,9 @@ require 'spec_helper'
|
|
3
3
|
module Beatport::Catalog
|
4
4
|
describe "AudioFormat" do
|
5
5
|
describe 'structure' do
|
6
|
-
subject
|
6
|
+
subject do
|
7
|
+
VCR.use_cassette('audio_format_all') { AudioFormat.all.first }
|
8
|
+
end
|
7
9
|
|
8
10
|
it { should be_an(AudioFormat) }
|
9
11
|
its (:id) { should == 1 }
|
@@ -12,19 +14,25 @@ module Beatport::Catalog
|
|
12
14
|
end
|
13
15
|
|
14
16
|
describe '.all' do
|
15
|
-
subject
|
17
|
+
subject do
|
18
|
+
VCR.use_cassette('audio_format_all') { AudioFormat.all }
|
19
|
+
end
|
16
20
|
|
17
21
|
its (:length) { should be > 1 }
|
18
22
|
end
|
19
23
|
|
20
24
|
describe '.find' do
|
21
25
|
context "by id" do
|
22
|
-
subject
|
26
|
+
subject do
|
27
|
+
VCR.use_cassette("audio_format_2") { AudioFormat.find(2) }
|
28
|
+
end
|
23
29
|
its (:name) { should == "m4a" }
|
24
30
|
end
|
25
31
|
|
26
32
|
context "by name" do
|
27
|
-
subject
|
33
|
+
subject do
|
34
|
+
VCR.use_cassette("audio_format_wav") { AudioFormat.find('wav') }
|
35
|
+
end
|
28
36
|
its (:name) { should == "wav" }
|
29
37
|
end
|
30
38
|
end
|
@@ -3,13 +3,17 @@ require 'spec_helper'
|
|
3
3
|
module Beatport::Catalog
|
4
4
|
describe Autocomplete do
|
5
5
|
describe 'stucture' do
|
6
|
-
subject
|
6
|
+
subject do
|
7
|
+
VCR.use_cassette("autocomplete_lutzen") { Autocomplete.query('lutzen').first }
|
8
|
+
end
|
7
9
|
|
8
10
|
its (:'name.downcase') { should match(/lutzen/) }
|
9
11
|
end
|
10
12
|
|
11
13
|
describe 'collection' do
|
12
|
-
subject
|
14
|
+
subject do
|
15
|
+
VCR.use_cassette("autocomplete_lutzen") { Autocomplete.query('lutzen') }
|
16
|
+
end
|
13
17
|
|
14
18
|
its (:host) { should == "api.beatport.com" }
|
15
19
|
its (:path) { should == "/catalog/autocomplete" }
|
@@ -25,7 +29,9 @@ module Beatport::Catalog
|
|
25
29
|
end
|
26
30
|
|
27
31
|
describe '.query' do
|
28
|
-
subject
|
32
|
+
subject do
|
33
|
+
VCR.use_cassette("autocomplete_lutzen_page_3") { Autocomplete.query('lutzen', :page => 3, :per_page => 2) }
|
34
|
+
end
|
29
35
|
|
30
36
|
its (:page) { should == 3 }
|
31
37
|
its (:per_page) { should == 2 }
|
data/spec/catalog/chart_spec.rb
CHANGED
@@ -1,10 +1,14 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
module Beatport::Catalog
|
4
6
|
describe Chart do
|
5
7
|
|
6
8
|
describe 'structure' do
|
7
|
-
subject
|
9
|
+
subject do
|
10
|
+
VCR.use_cassette('chart_15722') { Chart.find(15722) }
|
11
|
+
end
|
8
12
|
|
9
13
|
it { should be_a(Chart) }
|
10
14
|
its (:id) { should == 15722 }
|
@@ -17,15 +21,17 @@ module Beatport::Catalog
|
|
17
21
|
its (:'audio_format_fee.wav.to_s') { should == "9.00" }
|
18
22
|
its (:'audio_format_fee.aiff.to_s') { should == "9.00" }
|
19
23
|
specify { subject.genres.map(&:name).should == ["Trance"] }
|
20
|
-
its (:'images.small.url') { should == "http://geo-media.beatport.com/
|
21
|
-
its (:'images.medium.url') { should == "http://geo-media.beatport.com/
|
22
|
-
its (:'images.large.url') { should == "http://geo-media.beatport.com/
|
24
|
+
its (:'images.small.url') { should == "http://geo-media.beatport.com/image/491534.jpg"}
|
25
|
+
its (:'images.medium.url') { should == "http://geo-media.beatport.com/image/412921.jpg"}
|
26
|
+
its (:'images.large.url') { should == "http://geo-media.beatport.com/image/412922.jpg"}
|
23
27
|
its (:'tracks.length') { should == 9 }
|
24
28
|
end
|
25
29
|
|
26
30
|
describe '.find' do
|
27
31
|
context 'with a single id' do
|
28
|
-
subject
|
32
|
+
subject do
|
33
|
+
VCR.use_cassette('chart_15722') { Chart.find(15722) }
|
34
|
+
end
|
29
35
|
its (:id) { should == 15722 }
|
30
36
|
end
|
31
37
|
|
@@ -3,14 +3,16 @@ require 'spec_helper'
|
|
3
3
|
module Beatport::Catalog
|
4
4
|
describe Country do
|
5
5
|
describe 'structure' do
|
6
|
-
subject
|
6
|
+
subject do
|
7
|
+
VCR.use_cassette("country_au") { Country.find('au') }
|
8
|
+
end
|
7
9
|
|
8
10
|
it { should be_a(Country) }
|
9
11
|
its (:id) { should == 5 }
|
10
12
|
its (:code) { should == "AUS" }
|
11
13
|
its (:code_short) { should == "AU" }
|
12
14
|
its (:name) { should == "Australia" }
|
13
|
-
its (:vat_enabled) { should ==
|
15
|
+
its (:vat_enabled) { should == "0" }
|
14
16
|
its (:vat_rate) { should == 0 }
|
15
17
|
its (:iso3166_3) { should == "AUS" }
|
16
18
|
its (:iso3166_2) { should == "AU" }
|
@@ -3,7 +3,9 @@ require 'spec_helper'
|
|
3
3
|
module Beatport::Catalog
|
4
4
|
describe Currency do
|
5
5
|
describe "structure" do
|
6
|
-
subject
|
6
|
+
subject do
|
7
|
+
VCR.use_cassette("currency_all") { Currency.all.first }
|
8
|
+
end
|
7
9
|
|
8
10
|
it { should be_a(Currency) }
|
9
11
|
its (:id) { should == 1 }
|
data/spec/catalog/genre_spec.rb
CHANGED
@@ -5,14 +5,16 @@ module Beatport::Catalog
|
|
5
5
|
describe Genre do
|
6
6
|
|
7
7
|
describe "structure" do
|
8
|
-
subject
|
8
|
+
subject do
|
9
|
+
VCR.use_cassette("genre_7") { Genre.find(7) }
|
10
|
+
end
|
9
11
|
|
10
12
|
it { should be_a(Genre) }
|
11
13
|
its (:name) { should == "Trance" }
|
12
14
|
its (:slug) { should == "trance" }
|
13
15
|
its (:'subgenres.length') { should be > 1}
|
14
|
-
its (:'slideshow.header.length') { should be > 1 }
|
15
|
-
its (:'slideshow.small.length') { should be > 1 }
|
16
|
+
#its (:'slideshow.header.length') { should be > 1 }
|
17
|
+
#its (:'slideshow.small.length') { should be > 1 }
|
16
18
|
its (:'top_downloads.length') { should be > 1 }
|
17
19
|
# it { @genre.features.length.should be > 1}
|
18
20
|
|
@@ -29,39 +31,53 @@ module Beatport::Catalog
|
|
29
31
|
|
30
32
|
describe '.find' do
|
31
33
|
it "should retrieve information about the trance genre via its id" do
|
32
|
-
|
34
|
+
VCR.use_cassette("genre_7") do
|
35
|
+
Genre.find(7).name.should == "Trance"
|
36
|
+
end
|
33
37
|
end
|
34
38
|
|
35
39
|
it "should retrieve information about the trance genre via the slug" do
|
40
|
+
pending "find by slug deprecated?"
|
41
|
+
|
36
42
|
Genre.find('trance').name.should == "Trance"
|
37
43
|
end
|
38
44
|
|
39
45
|
it "should retrieve information about the trance genre via the slug passed as a symbol" do
|
46
|
+
pending "find by slug deprecated?"
|
47
|
+
|
40
48
|
Genre.find(:trance).name.should == "Trance"
|
41
49
|
end
|
42
50
|
|
43
51
|
it "should return nil with an invalid id" do
|
44
|
-
|
45
|
-
|
52
|
+
VCR.use_cassette("genre_invalid") do
|
53
|
+
genre = Beatport::Catalog.genre(9999999)
|
54
|
+
genre.should be nil
|
55
|
+
end
|
46
56
|
end
|
47
57
|
end
|
48
58
|
|
49
59
|
describe '.all' do
|
50
60
|
it "should retrieve all genres" do
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
61
|
+
VCR.use_cassette("genre_all") do
|
62
|
+
genres = Genre.all
|
63
|
+
genres.length.should > 1
|
64
|
+
genres.length.should == genres.count
|
65
|
+
genres.length.should == genres.per_page
|
66
|
+
end
|
55
67
|
end
|
56
68
|
|
57
69
|
it "should retrieve genres with their subgenres" do
|
58
|
-
|
59
|
-
|
70
|
+
VCR.use_cassette("genre_all_with_subgenres") do
|
71
|
+
genres = Genre.all(:subgenres => true)
|
72
|
+
genres.first.subgenres.length.should be > 1
|
73
|
+
end
|
60
74
|
end
|
61
75
|
end
|
62
76
|
|
63
77
|
describe '.overview' do
|
64
78
|
it "should retrieve an overview" do
|
79
|
+
pending "deprecated?"
|
80
|
+
|
65
81
|
overview = Genre.overview
|
66
82
|
overview.length.should be > 0
|
67
83
|
overview.each do |genre|
|
@@ -83,6 +99,8 @@ module Beatport::Catalog
|
|
83
99
|
|
84
100
|
describe '#slideshow' do
|
85
101
|
it "should return the slideshow of a genre loaded via find" do
|
102
|
+
pending "deprecated?"
|
103
|
+
|
86
104
|
genre = Genre.find(7)
|
87
105
|
genre.slideshow.header.length.should be > 1
|
88
106
|
end
|
data/spec/catalog/home_spec.rb
CHANGED
@@ -3,13 +3,15 @@ require 'spec_helper'
|
|
3
3
|
module Beatport::Catalog
|
4
4
|
describe Home do
|
5
5
|
describe '.get' do
|
6
|
+
pending "deprecated?"
|
7
|
+
|
6
8
|
subject { Home.get }
|
7
9
|
|
8
|
-
it { should be_a(Home) }
|
9
|
-
its (:'slideshow.header.length') { should be >= 1 }
|
10
|
-
its (:'slideshow.feature.length') { should be > 1 }
|
11
|
-
its (:'features.length') { should be > 1 }
|
12
|
-
its (:'top_downloads.length') { should be > 1 }
|
10
|
+
#it { should be_a(Home) }
|
11
|
+
#its (:'slideshow.header.length') { should be >= 1 }
|
12
|
+
#its (:'slideshow.feature.length') { should be > 1 }
|
13
|
+
#its (:'features.length') { should be > 1 }
|
14
|
+
#its (:'top_downloads.length') { should be > 1 }
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
data/spec/catalog/label_spec.rb
CHANGED
@@ -4,22 +4,25 @@ module Beatport::Catalog
|
|
4
4
|
describe Label do
|
5
5
|
|
6
6
|
describe 'structure' do
|
7
|
-
subject
|
7
|
+
subject do
|
8
|
+
VCR.use_cassette("label_1390") { Label.find(1390) }
|
9
|
+
end
|
8
10
|
|
9
11
|
it { should be_a(Label) }
|
10
12
|
its (:id) { should == 1390 }
|
11
13
|
its (:type) { should == "label" }
|
12
14
|
its (:name) { should == "Anjunadeep" }
|
13
15
|
its (:slug) { should == "anjunadeep" }
|
14
|
-
|
15
|
-
its (:
|
16
|
+
pending "source type is no longer returned?"
|
17
|
+
#its (:source_type) { should == ["store", "mobile", "sushi"] }
|
18
|
+
its (:last_publish_date) { should == Date.new(2012, 10, 8) }
|
16
19
|
its (:biography) { should == "" }
|
17
20
|
its (:'genres.length') { should be > 1 }
|
18
21
|
its (:'sub_genres.length') { should be > 0 }
|
19
22
|
its (:display_level) { should == 1 }
|
20
|
-
its (:'images.small.url') { should == "http://geo-media.beatport.com/
|
21
|
-
its (:'images.medium.url') { should == "http://geo-media.beatport.com/
|
22
|
-
its (:'images.banner.url') { should == "http://geo-media.beatport.com/
|
23
|
+
its (:'images.small.url') { should == "http://geo-media.beatport.com/image/3406.jpg"}
|
24
|
+
its (:'images.medium.url') { should == "http://geo-media.beatport.com/image/1191.jpg"}
|
25
|
+
its (:'images.banner.url') { should == "http://geo-media.beatport.com/image/345152.jpg"}
|
23
26
|
# its (:'top_downloads.length') { should be > 1 }
|
24
27
|
# its (:'featured_releases.length') { should be > 1 }
|
25
28
|
# its (:'most_popular_releases.length') { should be > 1 }
|
@@ -27,15 +30,19 @@ module Beatport::Catalog
|
|
27
30
|
|
28
31
|
describe '.find' do
|
29
32
|
it "should get Anjunadeep give id 1390" do
|
30
|
-
|
31
|
-
|
33
|
+
VCR.use_cassette("label_1390") do
|
34
|
+
label = Label.find(1390)
|
35
|
+
label.id.should == 1390
|
36
|
+
end
|
32
37
|
end
|
33
38
|
end
|
34
39
|
|
35
40
|
describe '.all' do
|
36
41
|
it "should get arbitrary labels" do
|
37
|
-
|
38
|
-
|
42
|
+
VCR.use_cassette("label_all") do
|
43
|
+
labels = Label.all
|
44
|
+
labels.length.should == 10
|
45
|
+
end
|
39
46
|
end
|
40
47
|
|
41
48
|
it "should get the first page with 5 labels per page" do
|
@@ -88,11 +95,15 @@ module Beatport::Catalog
|
|
88
95
|
|
89
96
|
describe '.featured' do
|
90
97
|
it "should get the featured labels for the Home page" do
|
98
|
+
pending "deprecated?"
|
99
|
+
|
91
100
|
labels = Label.featured
|
92
101
|
labels.length.should be > 1
|
93
102
|
end
|
94
103
|
|
95
104
|
it "should get the featured labels for the Trance page" do
|
105
|
+
pending "deprecated?"
|
106
|
+
|
96
107
|
labels = Label.featured :genre_id => 7
|
97
108
|
labels.length.should be > 1
|
98
109
|
labels.each do |label|
|
@@ -4,7 +4,9 @@ module Beatport::Catalog
|
|
4
4
|
describe Release do
|
5
5
|
|
6
6
|
describe 'structure' do
|
7
|
-
subject
|
7
|
+
subject do
|
8
|
+
VCR.use_cassette("release_164808") { Release.find(164808) }
|
9
|
+
end
|
8
10
|
|
9
11
|
it { should be_a(Release) }
|
10
12
|
its (:id) { should == 164808 }
|
@@ -18,17 +20,17 @@ module Beatport::Catalog
|
|
18
20
|
its (:current_status) { should == "General Content"}
|
19
21
|
its (:catalog_number) { should == "ANJCDCO011D"}
|
20
22
|
its (:purchasable) { should == true }
|
21
|
-
its (:'price.to_s') { should == "
|
23
|
+
its (:'price.to_s') { should == "9.99" }
|
22
24
|
its (:'tracks_price.to_s') { should == "43.21" }
|
23
25
|
its (:'audio_format_fee.wav.to_s') { should == '29.00'}
|
24
26
|
its (:'audio_format_fee.aiff.to_s') { should == '29.00'}
|
25
27
|
its (:'label.id') { should == 804 }
|
26
28
|
specify { subject.artists.map(&:name).should include("Paul Keeley") }
|
27
|
-
specify { subject.genres.map(&:name).should == ["
|
28
|
-
its (:'images.small.url') { should == "http://geo-media.beatport.com/
|
29
|
-
its (:'images.medium.url') { should == "http://geo-media.beatport.com/
|
30
|
-
its (:'images.large.url') { should == "http://geo-media.beatport.com/
|
31
|
-
its (:'discount.to_s') { should == "
|
29
|
+
specify { subject.genres.map(&:name).sort.should == ["Progressive House", "Trance"] }
|
30
|
+
its (:'images.small.url') { should == "http://geo-media.beatport.com/image/392699.jpg" }
|
31
|
+
its (:'images.medium.url') { should == "http://geo-media.beatport.com/image/392700.jpg" }
|
32
|
+
its (:'images.large.url') { should == "http://geo-media.beatport.com/image/392701.jpg" }
|
33
|
+
its (:'discount.to_s') { should == "33.22" }
|
32
34
|
# its (:'recommendations.releases.length') { should > 1 }
|
33
35
|
end
|
34
36
|
|
@@ -114,6 +116,8 @@ module Beatport::Catalog
|
|
114
116
|
end
|
115
117
|
|
116
118
|
it "should not give the same releases with justAdded true and false" do
|
119
|
+
pending "test will not give consistent results, revisit"
|
120
|
+
|
117
121
|
featured = Release.featured :genre_id => 7
|
118
122
|
just_added = Release.featured :genre_id => 7, :just_added => true
|
119
123
|
|
data/spec/catalog/search_spec.rb
CHANGED
@@ -4,20 +4,34 @@ module Beatport::Catalog
|
|
4
4
|
describe Search do
|
5
5
|
describe '.get' do
|
6
6
|
it "should perform a simple search with just a string" do
|
7
|
-
|
8
|
-
|
7
|
+
VCR.use_cassette("search_believe_2004") do
|
8
|
+
results = Search.query('believe 2004')
|
9
|
+
results.length.should be >= 1
|
10
|
+
end
|
9
11
|
end
|
10
12
|
|
13
|
+
it "should perform a simple search with just a string" do
|
14
|
+
VCR.use_cassette("search_archipel") do
|
15
|
+
results = Search.query('Archipel')
|
16
|
+
results.length.should be >= 1
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
|
11
21
|
it "should not find a release by catalogue number" do
|
12
|
-
|
13
|
-
|
22
|
+
VCR.use_cassette("search_ANJCDCO011D") do
|
23
|
+
results = Search.query("ANJCDCO011D")
|
24
|
+
results.length.should be 0
|
25
|
+
end
|
14
26
|
end
|
15
27
|
|
16
28
|
it "should find all content for Anjunadeep that has something to do with Trance" do
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
29
|
+
VCR.use_cassette("search_anjunadeep_genre_trance") do
|
30
|
+
results = Search.query('anjunadeep', :facets => { :genre_name => 'Trance' })
|
31
|
+
results.length.should be > 1
|
32
|
+
|
33
|
+
results.grouped.keys.sort.should == ["Chart", "Label", "Release", "Track"]
|
34
|
+
end
|
21
35
|
end
|
22
36
|
end
|
23
37
|
end
|
data/spec/catalog/slide_spec.rb
CHANGED
@@ -2,6 +2,9 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
module Beatport::Catalog
|
4
4
|
describe Slide do
|
5
|
+
pending "deprecated?"
|
6
|
+
|
7
|
+
=begin
|
5
8
|
describe '.header' do
|
6
9
|
it "should get the header slides for the home page" do
|
7
10
|
slides = Slide.header
|
@@ -37,6 +40,7 @@ module Beatport::Catalog
|
|
37
40
|
slides.length.should be > 1
|
38
41
|
end
|
39
42
|
end
|
43
|
+
=end
|
40
44
|
end
|
41
45
|
end
|
42
46
|
|
@@ -3,7 +3,9 @@ require 'spec_helper'
|
|
3
3
|
module Beatport::Catalog
|
4
4
|
describe SourceType do
|
5
5
|
describe "structure" do
|
6
|
-
subject
|
6
|
+
subject do
|
7
|
+
VCR.use_cassette("source_type_all") { SourceType.all.first }
|
8
|
+
end
|
7
9
|
|
8
10
|
it { should be_a(SourceType) }
|
9
11
|
its (:id) { should == 1 }
|
data/spec/catalog/track_spec.rb
CHANGED
@@ -4,13 +4,15 @@ module Beatport::Catalog
|
|
4
4
|
describe Track do
|
5
5
|
describe 'lazy loading' do
|
6
6
|
it "should lazy load artists" do
|
7
|
-
pending
|
7
|
+
pending "Not implemented yet"
|
8
8
|
track = Track.all(:per_page => 1, :page => 1).first
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
12
|
describe 'structure' do
|
13
|
-
subject
|
13
|
+
subject do
|
14
|
+
VCR.use_cassette('track_1217790') { Track.find(1217790) }
|
15
|
+
end
|
14
16
|
|
15
17
|
it { should be_a(Track) }
|
16
18
|
its (:id) { should == 1217790 }
|
@@ -21,7 +23,7 @@ module Beatport::Catalog
|
|
21
23
|
its (:title) { should == "Tonight (IMS Anthem 2009) (Above & Beyond Remix)"}
|
22
24
|
its (:release_date) { should == Date.new(2010,05,17) }
|
23
25
|
its (:publish_date) { should == Date.new(2010,05,17) }
|
24
|
-
its (:sample_url) { should == 'http://geo-samples.beatport.com/
|
26
|
+
its (:sample_url) { should == 'http://geo-samples.beatport.com/lofi/1217790.LOFI.mp3' }
|
25
27
|
its (:rtmp_stream_url) { should == 'rtmp://geo-rtmp-samples.beatport.com/beatport/_definst_/mp3:lofi_samples/items/volumes/volume7/items/1000000/200000/10000/7000/700/90/1217790.LOFI'}
|
26
28
|
its (:exclusive) { should be_false }
|
27
29
|
its (:'price.to_s') { should == "1.49" }
|
@@ -39,10 +41,10 @@ module Beatport::Catalog
|
|
39
41
|
its (:charts) { should == [] }
|
40
42
|
its (:'release.id') { should == 245137 }
|
41
43
|
its (:'label.id') { should == 495}
|
42
|
-
its (:'images.small.url') { should == 'http://geo-media.beatport.com/
|
43
|
-
its (:'images.medium.url') { should == 'http://geo-media.beatport.com/
|
44
|
-
its (:'images.large.url') { should == 'http://geo-media.beatport.com/
|
45
|
-
its (:'images.waveform.url') { should == 'http://geo-media.beatport.com/
|
44
|
+
its (:'images.small.url') { should == 'http://geo-media.beatport.com/image/674759.jpg' }
|
45
|
+
its (:'images.medium.url') { should == 'http://geo-media.beatport.com/image/674760.jpg' }
|
46
|
+
its (:'images.large.url') { should == 'http://geo-media.beatport.com/image/674761.jpg' }
|
47
|
+
its (:'images.waveform.url') { should == 'http://geo-media.beatport.com/image/1268229.png' }
|
46
48
|
end
|
47
49
|
|
48
50
|
describe '.find' do
|