Merge branch 'feature/modernize-rspec'
This commit is contained in:
		
						commit
						aee6f80240
					
				@ -19,4 +19,5 @@ Gem::Specification.new do |gem|
 | 
				
			|||||||
  gem.add_development_dependency('rspec')
 | 
					  gem.add_development_dependency('rspec')
 | 
				
			||||||
  gem.add_development_dependency('awesome_print')
 | 
					  gem.add_development_dependency('awesome_print')
 | 
				
			||||||
  gem.add_development_dependency('rake', '~> 10.4.0')
 | 
					  gem.add_development_dependency('rake', '~> 10.4.0')
 | 
				
			||||||
 | 
					  gem.add_development_dependency('pry')
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -15,11 +15,11 @@ describe MusicBrainz::Bindings::Relations do
 | 
				
			|||||||
                </relation>
 | 
					                </relation>
 | 
				
			||||||
              </relation-list></artist>}
 | 
					              </relation-list></artist>}
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
            
 | 
					
 | 
				
			||||||
            described_class.parse(xml.xpath('./artist'))[:urls][:social_network].should == 'https://plus.google.com/+Madonna'
 | 
					            expect(described_class.parse(xml.xpath('./artist'))[:urls][:social_network]).to eq 'https://plus.google.com/+Madonna'
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
        
 | 
					
 | 
				
			||||||
        context 'multiple urls for relation types' do
 | 
					        context 'multiple urls for relation types' do
 | 
				
			||||||
          it 'returns an array' do
 | 
					          it 'returns an array' do
 | 
				
			||||||
            xml = Nokogiri::XML.parse(
 | 
					            xml = Nokogiri::XML.parse(
 | 
				
			||||||
@ -33,7 +33,7 @@ describe MusicBrainz::Bindings::Relations do
 | 
				
			|||||||
              </relation-list></artist>}
 | 
					              </relation-list></artist>}
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            described_class.parse(xml.xpath('./artist'))[:urls][:social_network].should == [
 | 
					            expect(described_class.parse(xml.xpath('./artist'))[:urls][:social_network]).to eq [
 | 
				
			||||||
              'https://plus.google.com/+Madonna', 'https://www.facebook.com/madonna'
 | 
					              'https://plus.google.com/+Madonna', 'https://www.facebook.com/madonna'
 | 
				
			||||||
            ]
 | 
					            ]
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
@ -41,4 +41,4 @@ describe MusicBrainz::Bindings::Relations do
 | 
				
			|||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -4,14 +4,20 @@ require "spec_helper"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
describe MusicBrainz::Bindings::ReleaseGroupSearch do
 | 
					describe MusicBrainz::Bindings::ReleaseGroupSearch do
 | 
				
			||||||
  describe '.parse' do
 | 
					  describe '.parse' do
 | 
				
			||||||
 | 
					    let(:response) {
 | 
				
			||||||
 | 
					      '<metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ext="http://musicbrainz.org/ns/ext#-2.0"><release-group-list><release-group id="246bc928-2dc8-35ba-80ee-7a0079de1632" type="Single" ext:score="100"><title>Empire</title></release-group></release-group-list></metadata>'
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    let(:metadata) {
 | 
				
			||||||
 | 
					      described_class.parse(Nokogiri::XML.parse(response).remove_namespaces!.xpath('/metadata'))
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it "gets correct release group data" do
 | 
					    it "gets correct release group data" do
 | 
				
			||||||
      response = '<metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ext="http://musicbrainz.org/ns/ext#-2.0"><release-group-list><release-group id="246bc928-2dc8-35ba-80ee-7a0079de1632" type="Single" ext:score="100"><title>Empire</title></release-group></release-group-list></metadata>'
 | 
					      expect(metadata).to eq([
 | 
				
			||||||
      described_class.parse(Nokogiri::XML.parse(response).remove_namespaces!.xpath('/metadata')).should == [
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          id: '246bc928-2dc8-35ba-80ee-7a0079de1632', mbid: '246bc928-2dc8-35ba-80ee-7a0079de1632', 
 | 
					          id: '246bc928-2dc8-35ba-80ee-7a0079de1632', mbid: '246bc928-2dc8-35ba-80ee-7a0079de1632',
 | 
				
			||||||
          title: 'Empire', type: 'Single', score: 100
 | 
					          title: 'Empire', type: 'Single', score: 100
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ]
 | 
					      ])
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -10,34 +10,34 @@ describe MusicBrainz::Bindings::Release do
 | 
				
			|||||||
          it 'returns CD' do
 | 
					          it 'returns CD' do
 | 
				
			||||||
            response = '<release><medium-list count="1"><medium><format>CD</format></medium></medium-list></release>'
 | 
					            response = '<release><medium-list count="1"><medium><format>CD</format></medium></medium-list></release>'
 | 
				
			||||||
            xml = Nokogiri::XML.parse(response)
 | 
					            xml = Nokogiri::XML.parse(response)
 | 
				
			||||||
            described_class.parse(xml)[:format].should == 'CD'
 | 
					            expect(described_class.parse(xml)[:format]).to eq 'CD'
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
        
 | 
					
 | 
				
			||||||
        context 'multiple cds' do
 | 
					        context 'multiple cds' do
 | 
				
			||||||
          it 'returns 2xCD' do
 | 
					          it 'returns 2xCD' do
 | 
				
			||||||
            response = '<release><medium-list count="2"><medium><format>CD</format><track-list count="11" /></medium><medium><title>bonus disc</title><format>CD</format></medium></medium-list></release>'
 | 
					            response = '<release><medium-list count="2"><medium><format>CD</format><track-list count="11" /></medium><medium><title>bonus disc</title><format>CD</format></medium></medium-list></release>'
 | 
				
			||||||
            xml = Nokogiri::XML.parse(response)
 | 
					            xml = Nokogiri::XML.parse(response)
 | 
				
			||||||
            described_class.parse(xml)[:format].should == '2xCD'
 | 
					            expect(described_class.parse(xml)[:format]).to eq '2xCD'
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
        
 | 
					
 | 
				
			||||||
        context 'different formats' do
 | 
					        context 'different formats' do
 | 
				
			||||||
          it 'returns DVD + CD' do
 | 
					          it 'returns DVD + CD' do
 | 
				
			||||||
            response = '<release><medium-list count="2"><medium><format>DVD</format></medium><medium><format>CD</format></medium></medium-list></release>'
 | 
					            response = '<release><medium-list count="2"><medium><format>DVD</format></medium><medium><format>CD</format></medium></medium-list></release>'
 | 
				
			||||||
            xml = Nokogiri::XML.parse(response)
 | 
					            xml = Nokogiri::XML.parse(response)
 | 
				
			||||||
            described_class.parse(xml)[:format].should == 'DVD + CD'
 | 
					            expect(described_class.parse(xml)[:format]).to eq 'DVD + CD'
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
        
 | 
					
 | 
				
			||||||
        context 'different formats plus multiple mediums with same format' do
 | 
					        context 'different formats plus multiple mediums with same format' do
 | 
				
			||||||
          it 'returns 2xCD + DVD' do
 | 
					          it 'returns 2xCD + DVD' do
 | 
				
			||||||
            response = '<release><medium-list count="2"><medium><format>CD</format></medium><medium><format>CD</format></medium><medium><format>DVD</format></medium></medium-list></release>'
 | 
					            response = '<release><medium-list count="2"><medium><format>CD</format></medium><medium><format>CD</format></medium><medium><format>DVD</format></medium></medium-list></release>'
 | 
				
			||||||
            xml = Nokogiri::XML.parse(response)
 | 
					            xml = Nokogiri::XML.parse(response)
 | 
				
			||||||
            described_class.parse(xml)[:format].should == '2xCD + DVD'
 | 
					            expect(described_class.parse(xml)[:format]).to eq '2xCD + DVD'
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -6,9 +6,9 @@ describe MusicBrainz::Bindings::TrackSearch do
 | 
				
			|||||||
  describe '.parse' do
 | 
					  describe '.parse' do
 | 
				
			||||||
    it "gets correct Track (really recording) data" do
 | 
					    it "gets correct Track (really recording) data" do
 | 
				
			||||||
			response = '<metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ext="http://musicbrainz.org/ns/ext#-2.0"><recording-list offset="0" count="1"><recording id="0b382a13-32f0-4743-9248-ba5536a6115e" ext:score="100"><title>King Fred</title><artist-credit><name-credit><artist id="f52f7a92-d495-4d32-89e7-8b1e5b8541c8"><name>Too Much Joy</name></artist></name-credit></artist-credit><release-list><release id="8442e42b-c40a-4817-89a0-dbe663c94d2d"><title>Green Eggs and Crack</title></release></release-list></recording></recording-list></metadata>'
 | 
								response = '<metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ext="http://musicbrainz.org/ns/ext#-2.0"><recording-list offset="0" count="1"><recording id="0b382a13-32f0-4743-9248-ba5536a6115e" ext:score="100"><title>King Fred</title><artist-credit><name-credit><artist id="f52f7a92-d495-4d32-89e7-8b1e5b8541c8"><name>Too Much Joy</name></artist></name-credit></artist-credit><release-list><release id="8442e42b-c40a-4817-89a0-dbe663c94d2d"><title>Green Eggs and Crack</title></release></release-list></recording></recording-list></metadata>'
 | 
				
			||||||
      described_class.parse(Nokogiri::XML.parse(response).remove_namespaces!.xpath('/metadata')).should == [
 | 
					      expect(described_class.parse(Nokogiri::XML.parse(response).remove_namespaces!.xpath('/metadata'))).to eq [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          id: '0b382a13-32f0-4743-9248-ba5536a6115e', mbid: '0b382a13-32f0-4743-9248-ba5536a6115e', 
 | 
					          id: '0b382a13-32f0-4743-9248-ba5536a6115e', mbid: '0b382a13-32f0-4743-9248-ba5536a6115e',
 | 
				
			||||||
          title: 'King Fred', artist: 'Too Much Joy', releases: ['Green Eggs and Crack'], score: 100
 | 
					          title: 'King Fred', artist: 'Too Much Joy', releases: ['Green Eggs and Crack'], score: 100
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
 | 
				
			|||||||
@ -4,9 +4,8 @@ require "ostruct"
 | 
				
			|||||||
require "spec_helper"
 | 
					require "spec_helper"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe MusicBrainz::ClientModules::CachingProxy do
 | 
					describe MusicBrainz::ClientModules::CachingProxy do
 | 
				
			||||||
  let(:old_cache_path){ File.join(File.dirname(__FILE__), '..', '..', 'tmp', 'spec_cache') }
 | 
					 | 
				
			||||||
  let(:tmp_cache_path){ File.join(File.dirname(__FILE__), '..', '..', 'tmp', 'cache_module_spec_cache') }
 | 
					 | 
				
			||||||
  let(:test_mbid){ "69b39eab-6577-46a4-a9f5-817839092033" }
 | 
					  let(:test_mbid){ "69b39eab-6577-46a4-a9f5-817839092033" }
 | 
				
			||||||
 | 
					  let(:tmp_cache_path){ File.join(File.dirname(__FILE__), '..', '..', 'tmp', 'cache_module_spec_cache') }
 | 
				
			||||||
  let(:test_cache_file){ "#{tmp_cache_path}/03/48/ec/6c2bee685d9a96f95ed46378f624714e7a4650b0d44c1a8eee5bac2480.xml" }
 | 
					  let(:test_cache_file){ "#{tmp_cache_path}/03/48/ec/6c2bee685d9a96f95ed46378f624714e7a4650b0d44c1a8eee5bac2480.xml" }
 | 
				
			||||||
  let(:test_response_file){ File.join(File.dirname(__FILE__), "../fixtures/kasabian.xml") }
 | 
					  let(:test_response_file){ File.join(File.dirname(__FILE__), "../fixtures/kasabian.xml") }
 | 
				
			||||||
  let(:test_response){ File.open(test_response_file).read }
 | 
					  let(:test_response){ File.open(test_response_file).read }
 | 
				
			||||||
@ -15,8 +14,12 @@ describe MusicBrainz::ClientModules::CachingProxy do
 | 
				
			|||||||
    MusicBrainz.config.cache_path = File.join(File.dirname(__FILE__), '..', '..', 'tmp', 'cache_module_spec_cache')
 | 
					    MusicBrainz.config.cache_path = File.join(File.dirname(__FILE__), '..', '..', 'tmp', 'cache_module_spec_cache')
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  before do
 | 
				
			||||||
 | 
					    File.delete(test_cache_file) if File.exist?(test_cache_file)
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  after(:all) do
 | 
					  after(:all) do
 | 
				
			||||||
    MusicBrainz.config.cache_path = old_cache_path
 | 
					    MusicBrainz.config.cache_path = File.join(File.dirname(__FILE__), '..', '..', 'tmp', 'spec_cache')
 | 
				
			||||||
    MusicBrainz.config.perform_caching = true
 | 
					    MusicBrainz.config.perform_caching = true
 | 
				
			||||||
    MusicBrainz.config.query_interval = 1.5
 | 
					    MusicBrainz.config.query_interval = 1.5
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
@ -24,16 +27,16 @@ describe MusicBrainz::ClientModules::CachingProxy do
 | 
				
			|||||||
  context "with cache enabled" do
 | 
					  context "with cache enabled" do
 | 
				
			||||||
    it "calls http only once when requesting the resource twice" do
 | 
					    it "calls http only once when requesting the resource twice" do
 | 
				
			||||||
      MusicBrainz.config.perform_caching = true
 | 
					      MusicBrainz.config.perform_caching = true
 | 
				
			||||||
      File.exist?(test_cache_file).should be_false
 | 
					      expect(File).to_not exist(test_cache_file)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Stubbing
 | 
					      # Stubbing
 | 
				
			||||||
      MusicBrainz.client.http.stub(:get).and_return(OpenStruct.new(status: 200, body: test_response))
 | 
					      allow(MusicBrainz.client.http).to receive(:get).and_return(OpenStruct.new(status: 200, body: test_response))
 | 
				
			||||||
      MusicBrainz.client.http.should_receive(:get).once
 | 
					      expect(MusicBrainz.client.http).to receive(:get).once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      2.times do
 | 
					      2.times do
 | 
				
			||||||
        artist = MusicBrainz::Artist.find(test_mbid)
 | 
					        artist = MusicBrainz::Artist.find(test_mbid)
 | 
				
			||||||
        artist.should be_a_kind_of(MusicBrainz::Artist)
 | 
					        expect(artist).to be_kind_of(MusicBrainz::Artist)
 | 
				
			||||||
        File.exist?(test_cache_file).should be_true
 | 
					        expect(File).to exist(test_cache_file)
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      MusicBrainz.client.clear_cache
 | 
					      MusicBrainz.client.clear_cache
 | 
				
			||||||
@ -43,19 +46,19 @@ describe MusicBrainz::ClientModules::CachingProxy do
 | 
				
			|||||||
  context "with cache disabled" do
 | 
					  context "with cache disabled" do
 | 
				
			||||||
    it "calls http twice when requesting the resource twice" do
 | 
					    it "calls http twice when requesting the resource twice" do
 | 
				
			||||||
      MusicBrainz.config.perform_caching = false
 | 
					      MusicBrainz.config.perform_caching = false
 | 
				
			||||||
      File.exist?(test_cache_file).should be_false
 | 
					      expect(File).to_not exist(test_cache_file)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Hacking for test performance purposes
 | 
					      # Hacking for test performance purposes
 | 
				
			||||||
      MusicBrainz.config.query_interval = 0.0
 | 
					      MusicBrainz.config.query_interval = 0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Stubbing
 | 
					      # Stubbing
 | 
				
			||||||
      MusicBrainz.client.http.stub(:get).and_return(OpenStruct.new(status: 200, body: test_response))
 | 
					      allow(MusicBrainz.client.http).to receive(:get).and_return(OpenStruct.new(status: 200, body: test_response))
 | 
				
			||||||
      MusicBrainz.client.http.should_receive(:get).twice
 | 
					      expect(MusicBrainz.client.http).to receive(:get).twice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      2.times do
 | 
					      2.times do
 | 
				
			||||||
        artist = MusicBrainz::Artist.find(test_mbid)
 | 
					        artist = MusicBrainz::Artist.find(test_mbid)
 | 
				
			||||||
        artist.should be_a_kind_of(MusicBrainz::Artist)
 | 
					        expect(artist).to be_kind_of(MusicBrainz::Artist)
 | 
				
			||||||
        File.exist?(test_cache_file).should be_false
 | 
					        expect(File).to_not exist(test_cache_file)
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
				
			|||||||
@ -18,15 +18,15 @@ describe MusicBrainz::Deprecated::CacheConfig do
 | 
				
			|||||||
  it "allows deprecated use of cache_path" do
 | 
					  it "allows deprecated use of cache_path" do
 | 
				
			||||||
    MusicBrainz.config.cache_path = "test1"
 | 
					    MusicBrainz.config.cache_path = "test1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    MusicBrainz::Tools::Cache.cache_path.should == "test1"
 | 
					    expect(MusicBrainz::Tools::Cache.cache_path).to eq "test1"
 | 
				
			||||||
    MusicBrainz.cache_path.should == "test1"
 | 
					    expect(MusicBrainz.cache_path).to eq "test1"
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "allows deprecated use of cache_path=" do
 | 
					  it "allows deprecated use of cache_path=" do
 | 
				
			||||||
    MusicBrainz::Tools::Cache.cache_path = "test2"
 | 
					    MusicBrainz::Tools::Cache.cache_path = "test2"
 | 
				
			||||||
    MusicBrainz.config.cache_path.should == "test2"
 | 
					    expect(MusicBrainz.config.cache_path).to eq "test2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    MusicBrainz.cache_path = "test3"
 | 
					    MusicBrainz.cache_path = "test3"
 | 
				
			||||||
    MusicBrainz.config.cache_path.should == "test3"
 | 
					    expect(MusicBrainz.config.cache_path).to eq "test3"
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -18,15 +18,15 @@ describe MusicBrainz::Deprecated::ProxyConfig do
 | 
				
			|||||||
  it "allows deprecated use of query_interval" do
 | 
					  it "allows deprecated use of query_interval" do
 | 
				
			||||||
    MusicBrainz.config.query_interval = 2
 | 
					    MusicBrainz.config.query_interval = 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    MusicBrainz::Tools::Proxy.query_interval.should == 2
 | 
					    expect(MusicBrainz::Tools::Proxy.query_interval).to eq 2
 | 
				
			||||||
    MusicBrainz.query_interval.should == 2
 | 
					    expect(MusicBrainz.query_interval).to eq 2
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "allows deprecated use of query_interval=" do
 | 
					  it "allows deprecated use of query_interval=" do
 | 
				
			||||||
    MusicBrainz::Tools::Proxy.query_interval = 3
 | 
					    MusicBrainz::Tools::Proxy.query_interval = 3
 | 
				
			||||||
    MusicBrainz.config.query_interval.should == 3
 | 
					    expect(MusicBrainz.config.query_interval).to eq 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    MusicBrainz.query_interval = 4
 | 
					    MusicBrainz.query_interval = 4
 | 
				
			||||||
    MusicBrainz.config.query_interval.should == 4
 | 
					    expect(MusicBrainz.config.query_interval).to eq 4
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -4,56 +4,57 @@ require "spec_helper"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
describe MusicBrainz::Artist do
 | 
					describe MusicBrainz::Artist do
 | 
				
			||||||
  it "gets no exception while loading artist info" do
 | 
					  it "gets no exception while loading artist info" do
 | 
				
			||||||
    lambda {
 | 
					    expect {
 | 
				
			||||||
      MusicBrainz::Artist.find('69b39eab-6577-46a4-a9f5-817839092033')
 | 
					      MusicBrainz::Artist.find('69b39eab-6577-46a4-a9f5-817839092033')
 | 
				
			||||||
    }.should_not raise_error(Exception)
 | 
					    }.to_not raise_error(Exception)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "gets correct instance" do
 | 
					  it "gets correct instance" do
 | 
				
			||||||
    artist = MusicBrainz::Artist.find_by_name('Kasabian')
 | 
					    artist = MusicBrainz::Artist.find_by_name('Kasabian')
 | 
				
			||||||
    artist.should be_an_instance_of(MusicBrainz::Artist)
 | 
					    expect(artist).to be_instance_of(MusicBrainz::Artist)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "searches artist by name" do
 | 
					  it "searches artist by name" do
 | 
				
			||||||
    matches = MusicBrainz::Artist.search('Kasabian')
 | 
					    matches = MusicBrainz::Artist.search('Kasabian')
 | 
				
			||||||
    matches.length.should be > 0
 | 
					    expect(matches).to_not be_empty
 | 
				
			||||||
    matches.first[:name].should == "Kasabian"
 | 
					    expect(matches.first[:name]).to eq("Kasabian")
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "should return search results in the right order and pass back the correct score" do
 | 
					  it "should return search results in the right order and pass back the correct score" do
 | 
				
			||||||
    response = File.open(File.join(File.dirname(__FILE__), "../fixtures/artist/search.xml")).read
 | 
					    response = File.open(File.join(File.dirname(__FILE__), "../fixtures/artist/search.xml")).read
 | 
				
			||||||
    MusicBrainz::Client.any_instance.stub(:get_contents).with('http://musicbrainz.org/ws/2/artist?query=artist:"Chris+Martin"&limit=10').
 | 
					    allow_any_instance_of(MusicBrainz::Client).to receive(:get_contents)
 | 
				
			||||||
    and_return({ status: 200, body: response})
 | 
					      .with('http://musicbrainz.org/ws/2/artist?query=artist:"Chris+Martin"&limit=10')
 | 
				
			||||||
        
 | 
					      .and_return({ status: 200, body: response})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    matches = MusicBrainz::Artist.search('Chris Martin')
 | 
					    matches = MusicBrainz::Artist.search('Chris Martin')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    matches[0][:score].should == 100
 | 
					    expect(matches[0][:score]).to eq 100
 | 
				
			||||||
    matches[0][:id].should == "90fff570-a4ef-4cd4-ba21-e00c7261b05a"
 | 
					    expect(matches[0][:id]).to eq "90fff570-a4ef-4cd4-ba21-e00c7261b05a"
 | 
				
			||||||
    matches[1][:score].should == 100
 | 
					    expect(matches[1][:score]).to eq 100
 | 
				
			||||||
    matches[1][:id].should == "b732a912-af95-472c-be52-b14610734c64"
 | 
					    expect(matches[1][:id]).to eq "b732a912-af95-472c-be52-b14610734c64"
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "gets correct result by name" do
 | 
					  it "gets correct result by name" do
 | 
				
			||||||
    artist = MusicBrainz::Artist.find_by_name('Kasabian')
 | 
					    artist = MusicBrainz::Artist.find_by_name('Kasabian')
 | 
				
			||||||
    artist.id.should == "69b39eab-6577-46a4-a9f5-817839092033"
 | 
					    expect(artist.id).to eq "69b39eab-6577-46a4-a9f5-817839092033"
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "gets correct artist data" do
 | 
					  it "gets correct artist data" do
 | 
				
			||||||
    artist = MusicBrainz::Artist.find_by_name('Kasabian')
 | 
					    artist = MusicBrainz::Artist.find_by_name('Kasabian')
 | 
				
			||||||
    artist.id.should == "69b39eab-6577-46a4-a9f5-817839092033"
 | 
					    expect(artist.id).to eq "69b39eab-6577-46a4-a9f5-817839092033"
 | 
				
			||||||
    artist.type.should == "Group"
 | 
					    expect(artist.type).to eq "Group"
 | 
				
			||||||
    artist.name.should == "Kasabian"
 | 
					    expect(artist.name).to eq "Kasabian"
 | 
				
			||||||
    artist.country.should == "GB"
 | 
					    expect(artist.country).to eq "GB"
 | 
				
			||||||
    artist.date_begin.year.should == 1999
 | 
					    expect(artist.date_begin.year).to eq 1997
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "gets correct artist's release groups" do
 | 
					  it "gets correct artist's release groups" do
 | 
				
			||||||
    release_groups = MusicBrainz::Artist.find_by_name('Kasabian').release_groups
 | 
					    release_groups = MusicBrainz::Artist.find_by_name('Kasabian').release_groups
 | 
				
			||||||
    release_groups.length.should be >= 16
 | 
					    expect(release_groups.length).to be >= 16
 | 
				
			||||||
    release_groups.first.id.should == "533cbc5f-ec7e-32ab-95f3-8d1f804a5176"
 | 
					    expect(release_groups.first.id).to eq "533cbc5f-ec7e-32ab-95f3-8d1f804a5176"
 | 
				
			||||||
    release_groups.first.type.should == "Single"
 | 
					    expect(release_groups.first.type).to eq "Single"
 | 
				
			||||||
    release_groups.first.title.should == "Club Foot"
 | 
					    expect(release_groups.first.title).to eq "Club Foot"
 | 
				
			||||||
    release_groups.first.first_release_date.should == Date.new(2004, 5, 10)
 | 
					    expect(release_groups.first.first_release_date).to eq Date.new(2004, 5, 10)
 | 
				
			||||||
    release_groups.first.urls[:discogs].should == 'http://www.discogs.com/master/125150'
 | 
					    expect(release_groups.first.urls[:discogs]).to eq 'http://www.discogs.com/master/125150'
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -10,36 +10,36 @@ describe MusicBrainz::BaseModel do
 | 
				
			|||||||
          response = '<release-group><first-release-date></first-release-date></release-group>'
 | 
					          response = '<release-group><first-release-date></first-release-date></release-group>'
 | 
				
			||||||
          xml = Nokogiri::XML.parse(response)
 | 
					          xml = Nokogiri::XML.parse(response)
 | 
				
			||||||
          release_group = MusicBrainz::ReleaseGroup.new MusicBrainz::Bindings::ReleaseGroup.parse(xml)
 | 
					          release_group = MusicBrainz::ReleaseGroup.new MusicBrainz::Bindings::ReleaseGroup.parse(xml)
 | 
				
			||||||
          release_group.first_release_date.should == Date.new(2030, 12, 31)
 | 
					          expect(release_group.first_release_date).to eq Date.new(2030, 12, 31)
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
      
 | 
					
 | 
				
			||||||
      context 'year only' do
 | 
					      context 'year only' do
 | 
				
			||||||
        it 'returns 1995-12-31' do
 | 
					        it 'returns 1995-12-31' do
 | 
				
			||||||
          response = '<release-group><first-release-date>1995</first-release-date></release-group>'
 | 
					          response = '<release-group><first-release-date>1995</first-release-date></release-group>'
 | 
				
			||||||
          xml = Nokogiri::XML.parse(response)
 | 
					          xml = Nokogiri::XML.parse(response)
 | 
				
			||||||
          release_group = MusicBrainz::ReleaseGroup.new MusicBrainz::Bindings::ReleaseGroup.parse(xml)
 | 
					          release_group = MusicBrainz::ReleaseGroup.new MusicBrainz::Bindings::ReleaseGroup.parse(xml)
 | 
				
			||||||
          release_group.first_release_date.should == Date.new(1995, 12, 31)
 | 
					          expect(release_group.first_release_date).to eq Date.new(1995, 12, 31)
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
      
 | 
					
 | 
				
			||||||
      context 'year and month only' do
 | 
					      context 'year and month only' do
 | 
				
			||||||
        it 'returns 1995-04-30' do
 | 
					        it 'returns 1995-04-30' do
 | 
				
			||||||
          response = '<release-group><first-release-date>1995-04</first-release-date></release-group>'
 | 
					          response = '<release-group><first-release-date>1995-04</first-release-date></release-group>'
 | 
				
			||||||
          xml = Nokogiri::XML.parse(response)
 | 
					          xml = Nokogiri::XML.parse(response)
 | 
				
			||||||
          release_group = MusicBrainz::ReleaseGroup.new MusicBrainz::Bindings::ReleaseGroup.parse(xml)
 | 
					          release_group = MusicBrainz::ReleaseGroup.new MusicBrainz::Bindings::ReleaseGroup.parse(xml)
 | 
				
			||||||
          release_group.first_release_date.should == Date.new(1995, 4, 30)
 | 
					          expect(release_group.first_release_date).to eq Date.new(1995, 4, 30)
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
      
 | 
					
 | 
				
			||||||
      context 'year, month and day' do
 | 
					      context 'year, month and day' do
 | 
				
			||||||
        it 'returns 1995-04-30' do
 | 
					        it 'returns 1995-04-30' do
 | 
				
			||||||
          response = '<release-group><first-release-date>1995-04-30</first-release-date></release-group>'
 | 
					          response = '<release-group><first-release-date>1995-04-30</first-release-date></release-group>'
 | 
				
			||||||
          xml = Nokogiri::XML.parse(response)
 | 
					          xml = Nokogiri::XML.parse(response)
 | 
				
			||||||
          release_group = MusicBrainz::ReleaseGroup.new MusicBrainz::Bindings::ReleaseGroup.parse(xml)
 | 
					          release_group = MusicBrainz::ReleaseGroup.new MusicBrainz::Bindings::ReleaseGroup.parse(xml)
 | 
				
			||||||
          release_group.first_release_date.should == Date.new(1995, 4, 30)
 | 
					          expect(release_group.first_release_date).to eq Date.new(1995, 4, 30)
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -5,81 +5,86 @@ require "spec_helper"
 | 
				
			|||||||
describe MusicBrainz::ReleaseGroup do
 | 
					describe MusicBrainz::ReleaseGroup do
 | 
				
			||||||
  describe '.find' do
 | 
					  describe '.find' do
 | 
				
			||||||
    it "gets no exception while loading release group info" do
 | 
					    it "gets no exception while loading release group info" do
 | 
				
			||||||
      lambda {
 | 
					      expect {
 | 
				
			||||||
        MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
 | 
					        MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
 | 
				
			||||||
      }.should_not raise_error(Exception)
 | 
					      }.to_not raise_error(Exception)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
    it "gets correct instance" do
 | 
					    it "gets correct instance" do
 | 
				
			||||||
      release_group = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
 | 
					      release_group = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
 | 
				
			||||||
      release_group.should be_an_instance_of(MusicBrainz::ReleaseGroup)
 | 
					      expect(release_group).to be_an_instance_of(MusicBrainz::ReleaseGroup)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
    it "gets correct release group data" do
 | 
					    it "gets correct release group data" do
 | 
				
			||||||
      release_group = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
 | 
					      release_group = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
 | 
				
			||||||
      release_group.id.should == "6f33e0f0-cde2-38f9-9aee-2c60af8d1a61"
 | 
					      expect(release_group.id).to eq "6f33e0f0-cde2-38f9-9aee-2c60af8d1a61"
 | 
				
			||||||
      release_group.type.should == "Album"
 | 
					      expect(release_group.type).to eq "Album"
 | 
				
			||||||
      release_group.title.should == "Empire"
 | 
					      expect(release_group.title).to eq "Empire"
 | 
				
			||||||
      release_group.first_release_date.should == Date.new(2006, 8, 28)
 | 
					      expect(release_group.first_release_date).to eq Date.new(2006, 8, 28)
 | 
				
			||||||
      release_group.urls[:wikipedia].should == 'http://en.wikipedia.org/wiki/Empire_(Kasabian_album)'
 | 
					      expect(release_group.urls[:wikipedia]).to eq 'http://en.wikipedia.org/wiki/Empire_(Kasabian_album)'
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
  describe '.search' do
 | 
					  describe '.search' do
 | 
				
			||||||
    context 'without type filter' do
 | 
					    context 'without type filter' do
 | 
				
			||||||
      it "searches release group by artist name and title" do
 | 
					      it "searches release group by artist name and title" do
 | 
				
			||||||
        response = File.open(File.join(File.dirname(__FILE__), "../fixtures/release_group/search.xml")).read
 | 
					        response = File.open(File.join(File.dirname(__FILE__), "../fixtures/release_group/search.xml")).read
 | 
				
			||||||
        MusicBrainz::Client.any_instance.stub(:get_contents).with('http://musicbrainz.org/ws/2/release-group?query=artist:"Kasabian" AND releasegroup:"Empire"&limit=10').
 | 
					        allow_any_instance_of(MusicBrainz::Client).to receive(:get_contents)
 | 
				
			||||||
        and_return({ status: 200, body: response})
 | 
					          .with('http://musicbrainz.org/ws/2/release-group?query=artist:"Kasabian" AND releasegroup:"Empire"&limit=10')
 | 
				
			||||||
          
 | 
					          .and_return({ status: 200, body: response})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        matches = MusicBrainz::ReleaseGroup.search('Kasabian', 'Empire')
 | 
					        matches = MusicBrainz::ReleaseGroup.search('Kasabian', 'Empire')
 | 
				
			||||||
        matches.length.should be > 0
 | 
					        expect(matches.length).to be > 0
 | 
				
			||||||
        matches.first[:title].should == 'Empire'
 | 
					        expect(matches.first[:title]).to eq 'Empire'
 | 
				
			||||||
        matches.first[:type].should == 'Album'
 | 
					        expect(matches.first[:type]).to eq 'Album'
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    context 'with type filter' do
 | 
					    context 'with type filter' do
 | 
				
			||||||
      it "searches release group by artist name and title" do
 | 
					      it "searches release group by artist name and title" do
 | 
				
			||||||
        matches = MusicBrainz::ReleaseGroup.search('Kasabian', 'Empire', 'Album')
 | 
					        matches = MusicBrainz::ReleaseGroup.search('Kasabian', 'Empire', 'Album')
 | 
				
			||||||
        matches.length.should be > 0
 | 
					        expect(matches.length).to be > 0
 | 
				
			||||||
        matches.first[:title].should == 'Empire'
 | 
					        expect(matches.first[:title]).to eq 'Empire'
 | 
				
			||||||
        matches.first[:type].should == 'Album'
 | 
					        expect(matches.first[:type]).to eq 'Album'
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
  describe '.find_by_artist_and_title' do
 | 
					  describe '.find_by_artist_and_title' do
 | 
				
			||||||
    it "gets first release group by artist name and title" do
 | 
					    it "gets first release group by artist name and title" do
 | 
				
			||||||
      response = File.open(File.join(File.dirname(__FILE__), "../fixtures/release_group/search.xml")).read
 | 
					      response = File.open(File.join(File.dirname(__FILE__), "../fixtures/release_group/search.xml")).read
 | 
				
			||||||
      MusicBrainz::Client.any_instance.stub(:get_contents).with('http://musicbrainz.org/ws/2/release-group?query=artist:"Kasabian" AND releasegroup:"Empire"&limit=10').
 | 
					      allow_any_instance_of(MusicBrainz::Client).to receive(:get_contents)
 | 
				
			||||||
      and_return({ status: 200, body: response})
 | 
					        .with('http://musicbrainz.org/ws/2/release-group?query=artist:"Kasabian" AND releasegroup:"Empire"&limit=10')
 | 
				
			||||||
      
 | 
					        .and_return({ status: 200, body: response})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      response = File.open(File.join(File.dirname(__FILE__), "../fixtures/release_group/entity.xml")).read
 | 
					      response = File.open(File.join(File.dirname(__FILE__), "../fixtures/release_group/entity.xml")).read
 | 
				
			||||||
      MusicBrainz::Client.any_instance.stub(:get_contents).with('http://musicbrainz.org/ws/2/release-group/6f33e0f0-cde2-38f9-9aee-2c60af8d1a61?inc=url-rels').
 | 
					      allow_any_instance_of(MusicBrainz::Client).to receive(:get_contents)
 | 
				
			||||||
      and_return({ status: 200, body: response})
 | 
					        .with('http://musicbrainz.org/ws/2/release-group/6f33e0f0-cde2-38f9-9aee-2c60af8d1a61?inc=url-rels')
 | 
				
			||||||
      
 | 
					        .and_return({ status: 200, body: response})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      release_group = MusicBrainz::ReleaseGroup.find_by_artist_and_title('Kasabian', 'Empire')
 | 
					      release_group = MusicBrainz::ReleaseGroup.find_by_artist_and_title('Kasabian', 'Empire')
 | 
				
			||||||
      release_group.id.should == '6f33e0f0-cde2-38f9-9aee-2c60af8d1a61'
 | 
					      expect(release_group.id).to eq '6f33e0f0-cde2-38f9-9aee-2c60af8d1a61'
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
  describe '#releases' do
 | 
					  describe '#releases' do
 | 
				
			||||||
    it "gets correct release group's releases" do
 | 
					    it "gets correct release group's releases" do
 | 
				
			||||||
      MusicBrainz::Client.any_instance.stub(:get_contents).with('http://musicbrainz.org/ws/2/release-group/6f33e0f0-cde2-38f9-9aee-2c60af8d1a61?inc=url-rels').
 | 
					      allow_any_instance_of(MusicBrainz::Client).to receive(:get_contents)
 | 
				
			||||||
      and_return({ status: 200, body: File.open(File.join(File.dirname(__FILE__), "../fixtures/release_group/entity.xml")).read})
 | 
					        .with('http://musicbrainz.org/ws/2/release-group/6f33e0f0-cde2-38f9-9aee-2c60af8d1a61?inc=url-rels')
 | 
				
			||||||
      
 | 
					        .and_return({ status: 200, body: File.open(File.join(File.dirname(__FILE__), "../fixtures/release_group/entity.xml")).read})
 | 
				
			||||||
      MusicBrainz::Client.any_instance.stub(:get_contents).with('http://musicbrainz.org/ws/2/release?release-group=6f33e0f0-cde2-38f9-9aee-2c60af8d1a61&inc=media+release-groups&limit=100').
 | 
					
 | 
				
			||||||
      and_return({ status: 200, body: File.open(File.join(File.dirname(__FILE__), "../fixtures/release/list.xml")).read})
 | 
					      allow_any_instance_of(MusicBrainz::Client).to receive(:get_contents)
 | 
				
			||||||
      
 | 
					        .with('http://musicbrainz.org/ws/2/release?release-group=6f33e0f0-cde2-38f9-9aee-2c60af8d1a61&inc=media+release-groups&limit=100')
 | 
				
			||||||
 | 
					        .and_return({ status: 200, body: File.open(File.join(File.dirname(__FILE__), "../fixtures/release/list.xml")).read})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      releases = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61").releases
 | 
					      releases = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61").releases
 | 
				
			||||||
      releases.length.should be >= 5
 | 
					      expect(releases.length).to be >= 5
 | 
				
			||||||
      releases.first.id.should == "30d5e730-ce0a-464d-93e1-7d76e4bb3e31"
 | 
					      expect(releases.first.id).to eq "30d5e730-ce0a-464d-93e1-7d76e4bb3e31"
 | 
				
			||||||
      releases.first.status.should == "Official"
 | 
					      expect(releases.first.status).to eq "Official"
 | 
				
			||||||
      releases.first.title.should == "Empire"
 | 
					      expect(releases.first.title).to eq "Empire"
 | 
				
			||||||
      releases.first.date.should == Date.new(2006, 8, 28)
 | 
					      expect(releases.first.date).to eq Date.new(2006, 8, 28)
 | 
				
			||||||
      releases.first.country.should == "GB"
 | 
					      expect(releases.first.country).to eq "GB"
 | 
				
			||||||
      releases.first.type.should == "Album"
 | 
					      expect(releases.first.type).to eq "Album"
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -4,35 +4,35 @@ require "spec_helper"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
describe MusicBrainz::Release do
 | 
					describe MusicBrainz::Release do
 | 
				
			||||||
  it "gets no exception while loading release info" do
 | 
					  it "gets no exception while loading release info" do
 | 
				
			||||||
    lambda {
 | 
					    expect {
 | 
				
			||||||
      MusicBrainz::Release.find("2225dd4c-ae9a-403b-8ea0-9e05014c778f")
 | 
					      MusicBrainz::Release.find("2225dd4c-ae9a-403b-8ea0-9e05014c778f")
 | 
				
			||||||
    }.should_not raise_error(Exception)
 | 
					    }.to_not raise_error(Exception)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "gets correct instance" do
 | 
					  it "gets correct instance" do
 | 
				
			||||||
    release = MusicBrainz::Release.find("2225dd4c-ae9a-403b-8ea0-9e05014c778f")
 | 
					    release = MusicBrainz::Release.find("2225dd4c-ae9a-403b-8ea0-9e05014c778f")
 | 
				
			||||||
    release.should be_an_instance_of(MusicBrainz::Release)
 | 
					    expect(release).to be_an_instance_of(MusicBrainz::Release)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "gets correct release data" do
 | 
					  it "gets correct release data" do
 | 
				
			||||||
    release = MusicBrainz::Release.find("b94cb547-cf7a-4357-894c-53c3bf33b093")
 | 
					    release = MusicBrainz::Release.find("b94cb547-cf7a-4357-894c-53c3bf33b093")
 | 
				
			||||||
    release.id.should == "b94cb547-cf7a-4357-894c-53c3bf33b093"
 | 
					    expect(release.id).to eq "b94cb547-cf7a-4357-894c-53c3bf33b093"
 | 
				
			||||||
    release.title.should == "Humanoid"
 | 
					    expect(release.title).to eq "Humanoid"
 | 
				
			||||||
    release.status.should == "Official"
 | 
					    expect(release.status).to eq "Official"
 | 
				
			||||||
    release.date.should == Date.new(2009, 10, 6)
 | 
					    expect(release.date).to eq Date.new(2009, 10, 6)
 | 
				
			||||||
    release.country.should == "US"
 | 
					    expect(release.country).to eq "US"
 | 
				
			||||||
    release.asin.should == 'B002NOYX6I'
 | 
					    expect(release.asin).to eq 'B002NOYX6I'
 | 
				
			||||||
    release.barcode.should == '602527197692'
 | 
					    expect(release.barcode).to eq '602527197692'
 | 
				
			||||||
    release.quality.should == 'normal'
 | 
					    expect(release.quality).to eq 'normal'
 | 
				
			||||||
    release.type.should == 'Album'
 | 
					    expect(release.type).to eq 'Album'
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "gets correct release tracks" do
 | 
					  it "gets correct release tracks" do
 | 
				
			||||||
    tracks = MusicBrainz::Release.find("2225dd4c-ae9a-403b-8ea0-9e05014c778f").tracks
 | 
					    tracks = MusicBrainz::Release.find("2225dd4c-ae9a-403b-8ea0-9e05014c778f").tracks
 | 
				
			||||||
    tracks.length.should == 11
 | 
					    expect(tracks.length).to eq 11
 | 
				
			||||||
    tracks.first.position.should == 1
 | 
					    expect(tracks.first.position).to eq 1
 | 
				
			||||||
    tracks.first.recording_id.should == "b3015bab-1540-4d4e-9f30-14872a1525f7"
 | 
					    expect(tracks.first.recording_id).to eq "b3015bab-1540-4d4e-9f30-14872a1525f7"
 | 
				
			||||||
    tracks.first.title.should == "Empire"
 | 
					    expect(tracks.first.title).to eq "Empire"
 | 
				
			||||||
    tracks.first.length.should == 233013
 | 
					    expect(tracks.first.length).to eq 233013
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -4,20 +4,20 @@ require "spec_helper"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
describe MusicBrainz::Track do
 | 
					describe MusicBrainz::Track do
 | 
				
			||||||
  it "gets no exception while loading release info" do
 | 
					  it "gets no exception while loading release info" do
 | 
				
			||||||
    lambda {
 | 
					    expect {
 | 
				
			||||||
      MusicBrainz::Track.find("b3015bab-1540-4d4e-9f30-14872a1525f7")
 | 
					      MusicBrainz::Track.find("b3015bab-1540-4d4e-9f30-14872a1525f7")
 | 
				
			||||||
    }.should_not raise_error(Exception)
 | 
					    }.to_not raise_error(Exception)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "gets correct instance" do
 | 
					  it "gets correct instance" do
 | 
				
			||||||
    track = MusicBrainz::Track.find("b3015bab-1540-4d4e-9f30-14872a1525f7")
 | 
					    track = MusicBrainz::Track.find("b3015bab-1540-4d4e-9f30-14872a1525f7")
 | 
				
			||||||
    track.should be_an_instance_of(MusicBrainz::Track)
 | 
					    expect(track).to be_an_instance_of(MusicBrainz::Track)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "gets correct track data" do
 | 
					  it "gets correct track data" do
 | 
				
			||||||
    track = MusicBrainz::Track.find("b3015bab-1540-4d4e-9f30-14872a1525f7")
 | 
					    track = MusicBrainz::Track.find("b3015bab-1540-4d4e-9f30-14872a1525f7")
 | 
				
			||||||
    track.recording_id.should == "b3015bab-1540-4d4e-9f30-14872a1525f7"
 | 
					    expect(track.recording_id).to eq "b3015bab-1540-4d4e-9f30-14872a1525f7"
 | 
				
			||||||
    track.title.should == "Empire"
 | 
					    expect(track.title).to eq "Empire"
 | 
				
			||||||
    track.length.should == 233013
 | 
					    expect(track.length).to eq 233013
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
require "rubygems"
 | 
					require "rubygems"
 | 
				
			||||||
require "bundler/setup"
 | 
					require "bundler/setup"
 | 
				
			||||||
require "musicbrainz"
 | 
					require "musicbrainz"
 | 
				
			||||||
 | 
					require "pry"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RSpec.configure do |c|
 | 
					RSpec.configure do |c|
 | 
				
			||||||
  c.order = 'random'
 | 
					  c.order = 'random'
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user