discogs-wrapper 2.1.4 → 2.2.0
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.
- checksums.yaml +4 -4
- data/lib/discogs.rb +1 -2
- data/lib/wrapper/wrapper.rb +25 -20
- data/spec/spec_helper.rb +9 -0
- data/spec/wrapper_methods/add_release_to_user_wantlist_spec.rb +15 -9
- data/spec/wrapper_methods/edit_release_in_user_wantlist_spec.rb +14 -8
- data/spec/wrapper_methods/edit_user_spec.rb +15 -8
- data/spec/wrapper_methods/get_artist_releases_spec.rb +6 -11
- data/spec/wrapper_methods/get_artist_spec.rb +4 -9
- data/spec/wrapper_methods/get_identity_spec.rb +14 -8
- data/spec/wrapper_methods/get_label_releases_spec.rb +6 -11
- data/spec/wrapper_methods/get_label_spec.rb +14 -19
- data/spec/wrapper_methods/get_listing_spec.rb +16 -9
- data/spec/wrapper_methods/get_master_release_spec.rb +16 -21
- data/spec/wrapper_methods/get_master_release_versions_spec.rb +6 -11
- data/spec/wrapper_methods/get_order_messages_spec.rb +15 -8
- data/spec/wrapper_methods/get_order_spec.rb +15 -8
- data/spec/wrapper_methods/get_price_suggestions_spec.rb +15 -8
- data/spec/wrapper_methods/get_release_spec.rb +33 -38
- data/spec/wrapper_methods/get_user_collection_spec.rb +4 -9
- data/spec/wrapper_methods/get_user_folder_spec.rb +5 -10
- data/spec/wrapper_methods/get_user_folders_spec.rb +5 -10
- data/spec/wrapper_methods/get_user_inventory_spec.rb +5 -10
- data/spec/wrapper_methods/get_user_spec.rb +5 -10
- data/spec/wrapper_methods/get_user_wantlist_spec.rb +6 -11
- data/spec/wrapper_methods/search_spec.rb +8 -37
- data/spec/wrapper_spec.rb +47 -38
- metadata +55 -55
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae13ebef40ffcfb33e23eae6023cc0f53e2415d0
|
4
|
+
data.tar.gz: 089c0a08632d61a606ffe83d64c5e1e92c2c4179
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e193879c585f4418a3c3c0c3bd7e4bf587d52bd5dfffd73c64f12bfc7dd6229a3f10e77ca29f6ec3b6ddcf994fe77902c413a9337031a481db8b6e3d44a29f5
|
7
|
+
data.tar.gz: 2e6f5a9fb1cb72a75eee77c0f006a07869b5df0d5926835a050af43f56e9d6de23ff6f760c0e806412f8f68561a90223440a726be30f32ce2890fe07b196ca5d
|
data/lib/discogs.rb
CHANGED
@@ -4,8 +4,7 @@
|
|
4
4
|
##
|
5
5
|
## This library provides full access to the Discogs.com API v2.0
|
6
6
|
##
|
7
|
-
## Please file all bug reports at
|
8
|
-
## email me at info@andrewbuntine.com.
|
7
|
+
## Please file all bug reports at https://www.github.com/buntine/discogs.
|
9
8
|
##
|
10
9
|
## Enjoy!
|
11
10
|
|
data/lib/wrapper/wrapper.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'hashie'
|
4
4
|
require 'json'
|
5
|
-
require '
|
5
|
+
require 'httparty'
|
6
6
|
require 'stringio'
|
7
7
|
require 'uri'
|
8
8
|
require 'cgi'
|
@@ -116,7 +116,7 @@ class Discogs::Wrapper
|
|
116
116
|
# @macro uses_pagination
|
117
117
|
# @return [Hash] the user with provided username
|
118
118
|
def get_user_collection(username, pagination={})
|
119
|
-
get_user_folder_releases(username, 0)
|
119
|
+
get_user_folder_releases(username, 0, pagination)
|
120
120
|
end
|
121
121
|
|
122
122
|
# Retrieve a list of user-defined collection notes fields. These fields are available on every release in the collection.
|
@@ -488,7 +488,7 @@ class Discogs::Wrapper
|
|
488
488
|
# * +No Cover+
|
489
489
|
# @option data [Float (Required)] :price The price of the item (in the seller's currency).
|
490
490
|
# @option data [String (Optional)] :comments Any remarks about the item that will be displayed to buyers.
|
491
|
-
# @option data [Boolean (Optional)] :
|
491
|
+
# @option data [Boolean (Optional)] :allow_offers (false) Whether or not to allow buyers to make offers on the item. Defaults to +false+.
|
492
492
|
# @option data [String (Optional)] :status (+For Sale+) The status of the listing. Defaults to For Sale. Must *EXACTLY* match one of:
|
493
493
|
# * +For Sale+ - the listing is ready to be shown on the Marketplace
|
494
494
|
# * +Draft+ - the listing is not ready for public display
|
@@ -701,6 +701,12 @@ class Discogs::Wrapper
|
|
701
701
|
end
|
702
702
|
end
|
703
703
|
|
704
|
+
# Perform a search.
|
705
|
+
#
|
706
|
+
# @macro need_auth
|
707
|
+
#
|
708
|
+
# @param [String (Required)] term to search.
|
709
|
+
# @return [Hash] search results
|
704
710
|
def search(term, params={})
|
705
711
|
authenticated? do
|
706
712
|
parameters = {:q => term}.merge(params)
|
@@ -708,6 +714,10 @@ class Discogs::Wrapper
|
|
708
714
|
end
|
709
715
|
end
|
710
716
|
|
717
|
+
# Fetch response from API using a fully-qualified URL.
|
718
|
+
#
|
719
|
+
# @param [String (Required)] API endpoint
|
720
|
+
# @return [Hash] API response
|
711
721
|
def raw(url)
|
712
722
|
uri = URI.parse(url)
|
713
723
|
params = CGI.parse(uri.query.to_s)
|
@@ -720,9 +730,13 @@ class Discogs::Wrapper
|
|
720
730
|
def query_and_build(path, params={}, method=:get, body=nil)
|
721
731
|
parameters = {:f => "json"}.merge(params)
|
722
732
|
data = query_api(path, params, method, body)
|
723
|
-
hash = JSON.parse(data)
|
724
733
|
|
725
|
-
|
734
|
+
if data != ""
|
735
|
+
hash = JSON.parse(data)
|
736
|
+
Hashie::Mash.new(hash)
|
737
|
+
else
|
738
|
+
Hashie::Mash.new
|
739
|
+
end
|
726
740
|
end
|
727
741
|
|
728
742
|
# Queries the API and handles the response.
|
@@ -732,25 +746,25 @@ class Discogs::Wrapper
|
|
732
746
|
raise_unknown_resource(path) if response.code == "404"
|
733
747
|
raise_authentication_error(path) if response.code == "401"
|
734
748
|
raise_internal_server_error if response.code == "500"
|
735
|
-
|
749
|
+
|
736
750
|
# Unzip the response data, or just read it in directly
|
737
751
|
# if the API responds without gzipping.
|
738
752
|
response_body = nil
|
739
753
|
begin
|
740
|
-
inflated_data = Zlib::GzipReader.new(StringIO.new(response.body))
|
754
|
+
inflated_data = Zlib::GzipReader.new(StringIO.new(response.body.to_s))
|
741
755
|
response_body = inflated_data.read
|
742
756
|
rescue Zlib::GzipFile::Error
|
743
757
|
response_body = response.body
|
744
758
|
end
|
745
759
|
|
746
|
-
response_body
|
760
|
+
response_body.to_s
|
747
761
|
end
|
748
762
|
|
749
763
|
# Generates a HTTP request and returns the response.
|
750
764
|
def make_request(path, params, method, body)
|
751
765
|
full_params = params.merge(auth_params)
|
752
766
|
uri = build_uri(path, full_params)
|
753
|
-
formatted = "#{uri.path}?#{uri.query}"
|
767
|
+
formatted = "#{uri.path}?#{uri.query}"
|
754
768
|
output_format = full_params.fetch(:f, "json")
|
755
769
|
headers = {"Accept" => "application/#{output_format}",
|
756
770
|
"Accept-Encoding" => "gzip,deflate",
|
@@ -764,17 +778,8 @@ class Discogs::Wrapper
|
|
764
778
|
@access_token.send(method, formatted, headers)
|
765
779
|
end
|
766
780
|
else
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
headers.each do |h, v|
|
771
|
-
request.add_field(h, v)
|
772
|
-
end
|
773
|
-
|
774
|
-
Net::HTTP.start(uri.host, uri.port,
|
775
|
-
:use_ssl => uri.scheme == 'https') do |http|
|
776
|
-
http.request(request)
|
777
|
-
end
|
781
|
+
# All non-authenticated endpoints are GET.
|
782
|
+
HTTParty.get(uri, headers: headers)
|
778
783
|
end
|
779
784
|
end
|
780
785
|
|
data/spec/spec_helper.rb
CHANGED
@@ -28,3 +28,12 @@ def sample_invalid_data
|
|
28
28
|
</resp>
|
29
29
|
EOF
|
30
30
|
end
|
31
|
+
|
32
|
+
def mock_httparty(sample)
|
33
|
+
@http_response = double(HTTParty::Response)
|
34
|
+
@http_request = class_double(HTTParty).as_stubbed_const
|
35
|
+
|
36
|
+
allow(@http_response).to receive_messages(:code => "200", :body => read_sample(sample))
|
37
|
+
|
38
|
+
@http_request.should_receive(:get).and_return(@http_response)
|
39
|
+
end
|
@@ -3,8 +3,8 @@ require 'spec_helper'
|
|
3
3
|
describe Discogs::Wrapper do
|
4
4
|
|
5
5
|
before do
|
6
|
-
@oauth_access_token =
|
7
|
-
@wrapper = Discogs::Wrapper.new("some_user_agent", @oauth_access_token)
|
6
|
+
@oauth_access_token = double(OAuth::AccessToken)
|
7
|
+
@wrapper = Discogs::Wrapper.new("some_user_agent", :access_token => @oauth_access_token)
|
8
8
|
|
9
9
|
@username = "abuntine"
|
10
10
|
@release_id = "1"
|
@@ -13,10 +13,16 @@ describe Discogs::Wrapper do
|
|
13
13
|
describe ".add_release_to_user_wantlist" do
|
14
14
|
|
15
15
|
before do
|
16
|
-
@oauth_response =
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
@oauth_response = double(OAuth::AccessToken)
|
17
|
+
|
18
|
+
allow(@oauth_response).to receive_messages(:code => "200", :body => read_sample("wantlist_release"))
|
19
|
+
|
20
|
+
@oauth_response_as_file = double(StringIO)
|
21
|
+
|
22
|
+
allow(@oauth_response_as_file).to receive_messages(:read => read_sample("wantlist_release"))
|
23
|
+
|
24
|
+
expect(Zlib::GzipReader).to receive(:new).and_return(@oauth_response_as_file)
|
25
|
+
expect(@oauth_access_token).to receive(:put).and_return(@oauth_response)
|
20
26
|
|
21
27
|
@wantlist_release = @wrapper.add_release_to_user_wantlist(@username, @release_id)
|
22
28
|
end
|
@@ -24,15 +30,15 @@ describe Discogs::Wrapper do
|
|
24
30
|
describe "when calling simple wantlist release attributes" do
|
25
31
|
|
26
32
|
it "should have an id" do
|
27
|
-
@wantlist_release.id.
|
33
|
+
expect(@wantlist_release.id).to eq(1)
|
28
34
|
end
|
29
35
|
|
30
36
|
it "should have a rating" do
|
31
|
-
@wantlist_release.rating.
|
37
|
+
expect(@wantlist_release.rating).to eq(0)
|
32
38
|
end
|
33
39
|
|
34
40
|
it "should have some basic information" do
|
35
|
-
@wantlist_release.basic_information.title.
|
41
|
+
expect(@wantlist_release.basic_information.title).to eq("Stockholm")
|
36
42
|
end
|
37
43
|
|
38
44
|
end
|
@@ -3,8 +3,8 @@ require 'spec_helper'
|
|
3
3
|
describe Discogs::Wrapper do
|
4
4
|
|
5
5
|
before do
|
6
|
-
@oauth_access_token =
|
7
|
-
@wrapper = Discogs::Wrapper.new("some_user_agent", @oauth_access_token)
|
6
|
+
@oauth_access_token = double(OAuth::AccessToken)
|
7
|
+
@wrapper = Discogs::Wrapper.new("some_user_agent", :access_token => @oauth_access_token)
|
8
8
|
|
9
9
|
@username = "abuntine"
|
10
10
|
@release_id = "1"
|
@@ -13,10 +13,16 @@ describe Discogs::Wrapper do
|
|
13
13
|
describe ".edit_release_in_user_wantlist" do
|
14
14
|
|
15
15
|
before do
|
16
|
-
@oauth_response =
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
@oauth_response = double(OAuth::AccessToken)
|
17
|
+
|
18
|
+
allow(@oauth_response).to receive_messages(:code => "200", :body => read_sample("wantlist_release"))
|
19
|
+
|
20
|
+
@oauth_response_as_file = double(StringIO)
|
21
|
+
|
22
|
+
allow(@oauth_response_as_file).to receive_messages(:read => read_sample("wantlist_release"))
|
23
|
+
|
24
|
+
expect(Zlib::GzipReader).to receive(:new).and_return(@oauth_response_as_file)
|
25
|
+
expect(@oauth_access_token).to receive(:post).and_return(@oauth_response)
|
20
26
|
|
21
27
|
@wantlist_release = @wrapper.edit_release_in_user_wantlist(@username, @release_id, {:notes => "This is a note"})
|
22
28
|
end
|
@@ -24,11 +30,11 @@ describe Discogs::Wrapper do
|
|
24
30
|
describe "when calling simple wantlist release attributes" do
|
25
31
|
|
26
32
|
it "should have an id" do
|
27
|
-
@wantlist_release.id.
|
33
|
+
expect(@wantlist_release.id).to eq(1)
|
28
34
|
end
|
29
35
|
|
30
36
|
it "should have a some notes" do
|
31
|
-
@wantlist_release.notes.
|
37
|
+
expect(@wantlist_release.notes).to eq("This is a note")
|
32
38
|
end
|
33
39
|
|
34
40
|
end
|
@@ -3,18 +3,25 @@ require 'spec_helper'
|
|
3
3
|
describe Discogs::Wrapper do
|
4
4
|
|
5
5
|
before do
|
6
|
-
@oauth_access_token =
|
7
|
-
@wrapper = Discogs::Wrapper.new("some_user_agent", @oauth_access_token)
|
6
|
+
@oauth_access_token = double(OAuth::AccessToken)
|
7
|
+
@wrapper = Discogs::Wrapper.new("some_user_agent", :access_token => @oauth_access_token)
|
8
|
+
|
8
9
|
@username = "abuntine"
|
9
10
|
end
|
10
11
|
|
11
12
|
describe ".edit_user" do
|
12
13
|
|
13
14
|
before do
|
14
|
-
@oauth_response =
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@oauth_response = double(OAuth::AccessToken)
|
16
|
+
|
17
|
+
allow(@oauth_response).to receive_messages(:code => "200", :body => read_sample("user_profile"))
|
18
|
+
|
19
|
+
@oauth_response_as_file = double(StringIO)
|
20
|
+
|
21
|
+
allow(@oauth_response_as_file).to receive_messages(:read => read_sample("user_profile"))
|
22
|
+
|
23
|
+
expect(Zlib::GzipReader).to receive(:new).and_return(@oauth_response_as_file)
|
24
|
+
expect(@oauth_access_token).to receive(:post).and_return(@oauth_response)
|
18
25
|
|
19
26
|
@user_profile = @wrapper.edit_user(@username, {:profile => "This is a new profile"})
|
20
27
|
end
|
@@ -22,11 +29,11 @@ describe Discogs::Wrapper do
|
|
22
29
|
describe "when calling simple user profile attributes" do
|
23
30
|
|
24
31
|
it "should have a username" do
|
25
|
-
@user_profile.username.
|
32
|
+
expect(@user_profile.username).to eq("abuntine")
|
26
33
|
end
|
27
34
|
|
28
35
|
it "should have a new profile" do
|
29
|
-
@user_profile.profile.
|
36
|
+
expect(@user_profile.profile).to eq("This is a new profile")
|
30
37
|
end
|
31
38
|
|
32
39
|
end
|
@@ -10,12 +10,7 @@ describe Discogs::Wrapper do
|
|
10
10
|
describe ".get_artists_releases" do
|
11
11
|
|
12
12
|
before do
|
13
|
-
|
14
|
-
@http_response = mock(Net::HTTPResponse, :code => "200", :body => read_sample("artist_releases"))
|
15
|
-
@http_response_as_file = mock(StringIO, :read => read_sample("artist_releases"))
|
16
|
-
Zlib::GzipReader.should_receive(:new).and_return(@http_response_as_file)
|
17
|
-
@http_request.should_receive(:start).and_return(@http_response)
|
18
|
-
Net::HTTP.should_receive(:new).and_return(@http_request)
|
13
|
+
mock_httparty("artist_releases")
|
19
14
|
|
20
15
|
@artist_releases = @wrapper.get_artist_releases(@artist_id)
|
21
16
|
end
|
@@ -23,23 +18,23 @@ describe Discogs::Wrapper do
|
|
23
18
|
describe "when calling simple releases attributes" do
|
24
19
|
|
25
20
|
it "should have 37 releases per page" do
|
26
|
-
@artist_releases.releases.length.
|
21
|
+
expect(@artist_releases.releases.length).to eq(37)
|
27
22
|
end
|
28
23
|
|
29
24
|
it "should have 37 releases total" do
|
30
|
-
@artist_releases.pagination.items.
|
25
|
+
expect(@artist_releases.pagination.items).to eq(37)
|
31
26
|
end
|
32
27
|
|
33
28
|
it "should have a first release with a title" do
|
34
|
-
@artist_releases.releases.first.title.
|
29
|
+
expect(@artist_releases.releases.first.title).to eq("Frost And Fire")
|
35
30
|
end
|
36
31
|
|
37
32
|
it "should have a first release with a type" do
|
38
|
-
@artist_releases.releases.first.type.
|
33
|
+
expect(@artist_releases.releases.first.type).to eq("master")
|
39
34
|
end
|
40
35
|
|
41
36
|
it "should not have a bogus attribute" do
|
42
|
-
@artist_releases.bogus_attr.
|
37
|
+
expect(@artist_releases.bogus_attr).to be_nil
|
43
38
|
end
|
44
39
|
|
45
40
|
end
|
@@ -10,12 +10,7 @@ describe Discogs::Wrapper do
|
|
10
10
|
describe ".get_artist" do
|
11
11
|
|
12
12
|
before do
|
13
|
-
|
14
|
-
@http_response = mock(Net::HTTPResponse, :code => "200", :body => read_sample("artist"))
|
15
|
-
@http_response_as_file = mock(StringIO, :read => read_sample("artist"))
|
16
|
-
Zlib::GzipReader.should_receive(:new).and_return(@http_response_as_file)
|
17
|
-
@http_request.should_receive(:start).and_return(@http_response)
|
18
|
-
Net::HTTP.should_receive(:new).and_return(@http_request)
|
13
|
+
mock_httparty("artist")
|
19
14
|
|
20
15
|
@artist = @wrapper.get_artist(@artist_id)
|
21
16
|
end
|
@@ -39,7 +34,7 @@ describe Discogs::Wrapper do
|
|
39
34
|
end
|
40
35
|
|
41
36
|
it "should have one or more members" do
|
42
|
-
@artist.members.should be_instance_of(Array)
|
37
|
+
@artist.members.should be_instance_of(Hashie::Array)
|
43
38
|
@artist.members[0].name.should == "Greg Lindstrom"
|
44
39
|
end
|
45
40
|
|
@@ -52,13 +47,13 @@ describe Discogs::Wrapper do
|
|
52
47
|
describe "when calling complex artist attributes" do
|
53
48
|
|
54
49
|
it "should have a traversible list of URLs" do
|
55
|
-
@artist.urls.should be_instance_of(Array)
|
50
|
+
@artist.urls.should be_instance_of(Hashie::Array)
|
56
51
|
@artist.urls[0].should == "http://www.truemetal.org/cirithungol"
|
57
52
|
@artist.urls[1].should == "http://www.myspace.com/cirithungol"
|
58
53
|
end
|
59
54
|
|
60
55
|
it "should have a traversible list of images" do
|
61
|
-
@artist.images.should be_instance_of(Array)
|
56
|
+
@artist.images.should be_instance_of(Hashie::Array)
|
62
57
|
end
|
63
58
|
|
64
59
|
it "should have specifications for each image" do
|
@@ -3,17 +3,23 @@ require 'spec_helper'
|
|
3
3
|
describe Discogs::Wrapper do
|
4
4
|
|
5
5
|
before do
|
6
|
-
@oauth_access_token =
|
7
|
-
@wrapper = Discogs::Wrapper.new("some_user_agent", @oauth_access_token)
|
6
|
+
@oauth_access_token = double(OAuth::AccessToken)
|
7
|
+
@wrapper = Discogs::Wrapper.new("some_user_agent", :access_token => @oauth_access_token)
|
8
8
|
end
|
9
9
|
|
10
10
|
describe ".get_identity" do
|
11
11
|
|
12
12
|
before do
|
13
|
-
@oauth_response =
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
@oauth_response = double(OAuth::AccessToken)
|
14
|
+
|
15
|
+
allow(@oauth_response).to receive_messages(:code => "200", :body => read_sample("identity"))
|
16
|
+
|
17
|
+
@oauth_response_as_file = double(StringIO)
|
18
|
+
|
19
|
+
allow(@oauth_response_as_file).to receive_messages(:read => read_sample("identity"))
|
20
|
+
|
21
|
+
expect(Zlib::GzipReader).to receive(:new).and_return(@oauth_response_as_file)
|
22
|
+
expect(@oauth_access_token).to receive(:get).and_return(@oauth_response)
|
17
23
|
|
18
24
|
@identity = @wrapper.get_identity
|
19
25
|
end
|
@@ -21,11 +27,11 @@ describe Discogs::Wrapper do
|
|
21
27
|
describe "when calling simple identity attributes" do
|
22
28
|
|
23
29
|
it "should have a username" do
|
24
|
-
@identity.username.
|
30
|
+
expect(@identity.username).to eq("example")
|
25
31
|
end
|
26
32
|
|
27
33
|
it "should have a consumer_name" do
|
28
|
-
@identity.consumer_name.
|
34
|
+
expect(@identity.consumer_name).to eq("Your Application Name")
|
29
35
|
end
|
30
36
|
|
31
37
|
end
|
@@ -10,12 +10,7 @@ describe Discogs::Wrapper do
|
|
10
10
|
describe ".get_labels_releases" do
|
11
11
|
|
12
12
|
before do
|
13
|
-
|
14
|
-
@http_response = mock(Net::HTTPResponse, :code => "200", :body => read_sample("label_releases"))
|
15
|
-
@http_response_as_file = mock(StringIO, :read => read_sample("label_releases"))
|
16
|
-
Zlib::GzipReader.should_receive(:new).and_return(@http_response_as_file)
|
17
|
-
@http_request.should_receive(:start).and_return(@http_response)
|
18
|
-
Net::HTTP.should_receive(:new).and_return(@http_request)
|
13
|
+
mock_httparty("label_releases")
|
19
14
|
|
20
15
|
@label_releases = @wrapper.get_label_releases(@label_id)
|
21
16
|
end
|
@@ -23,23 +18,23 @@ describe Discogs::Wrapper do
|
|
23
18
|
describe "when calling simple releases attributes" do
|
24
19
|
|
25
20
|
it "should have 8 releases per page" do
|
26
|
-
@label_releases.releases.length.
|
21
|
+
expect(@label_releases.releases.length).to eq(8)
|
27
22
|
end
|
28
23
|
|
29
24
|
it "should have 8 releases total" do
|
30
|
-
@label_releases.pagination.items.
|
25
|
+
expect(@label_releases.pagination.items).to eq(8)
|
31
26
|
end
|
32
27
|
|
33
28
|
it "should have a first release with a Cat No" do
|
34
|
-
@label_releases.releases.first.catno.
|
29
|
+
expect(@label_releases.releases.first.catno).to eq("SSS 001")
|
35
30
|
end
|
36
31
|
|
37
32
|
it "should have a first release with a status" do
|
38
|
-
@label_releases.releases.first.status.
|
33
|
+
expect(@label_releases.releases.first.status).to eq("Accepted")
|
39
34
|
end
|
40
35
|
|
41
36
|
it "should not have a bogus attribute" do
|
42
|
-
|
37
|
+
expect(@label_releases.bogus_attribute).to be_nil
|
43
38
|
end
|
44
39
|
|
45
40
|
end
|