Merge pull request #12 from Applicat/release_group_search2
Implementation of release group search
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
|
||||
require "spec_helper"
|
||||
|
||||
describe MusicBrainz::Bindings::ReleaseGroupSearch do
|
||||
describe '.parse' do
|
||||
it "gets correct release group data" do
|
||||
response = '<release-group-list><release-group id="246bc928-2dc8-35ba-80ee-7a0079de1632" type="Single" ext:score="100"><title>Empire</title></release-group>'
|
||||
described_class.parse(Nokogiri::XML.parse(response)).should == [
|
||||
{
|
||||
id: '246bc928-2dc8-35ba-80ee-7a0079de1632', mbid: '246bc928-2dc8-35ba-80ee-7a0079de1632',
|
||||
title: 'Empire', type: 'Single', score: 100
|
||||
}
|
||||
]
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -3,32 +3,63 @@
|
||||
require "spec_helper"
|
||||
|
||||
describe MusicBrainz::ReleaseGroup do
|
||||
it "gets no exception while loading release group info" do
|
||||
lambda {
|
||||
MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
|
||||
}.should_not raise_error(Exception)
|
||||
describe '.find' do
|
||||
it "gets no exception while loading release group info" do
|
||||
lambda {
|
||||
MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
|
||||
}.should_not raise_error(Exception)
|
||||
end
|
||||
|
||||
it "gets correct instance" do
|
||||
release_group = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
|
||||
release_group.should be_an_instance_of(MusicBrainz::ReleaseGroup)
|
||||
end
|
||||
|
||||
it "gets correct release group data" do
|
||||
release_group = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
|
||||
release_group.id.should == "6f33e0f0-cde2-38f9-9aee-2c60af8d1a61"
|
||||
release_group.type.should == "Album"
|
||||
release_group.title.should == "Empire"
|
||||
release_group.first_release_date.should == Date.new(2006, 8, 28)
|
||||
end
|
||||
end
|
||||
|
||||
it "gets correct instance" do
|
||||
release_group = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
|
||||
release_group.should be_an_instance_of(MusicBrainz::ReleaseGroup)
|
||||
|
||||
describe '.search' do
|
||||
context 'without type filter' do
|
||||
it "searches release group by artist name and title" do
|
||||
matches = MusicBrainz::ReleaseGroup.search('Kasabian', 'Empire')
|
||||
matches.length.should be > 0
|
||||
matches.first[:title].should == 'Empire'
|
||||
matches.first[:type].should == 'Single'
|
||||
end
|
||||
end
|
||||
|
||||
context 'with type filter' do
|
||||
it "searches release group by artist name and title" do
|
||||
matches = MusicBrainz::ReleaseGroup.search('Kasabian', 'Empire', type: 'Album')
|
||||
matches.length.should be > 0
|
||||
matches.first[:title].should == 'Empire'
|
||||
matches.first[:type].should == 'Album'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
it "gets correct release group data" do
|
||||
release_group = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61")
|
||||
release_group.id.should == "6f33e0f0-cde2-38f9-9aee-2c60af8d1a61"
|
||||
release_group.type.should == "Album"
|
||||
release_group.title.should == "Empire"
|
||||
release_group.first_release_date.should == Date.new(2006, 8, 28)
|
||||
|
||||
describe '.find_by_artist_and_title' do
|
||||
it "gets first release group by artist name and title" do
|
||||
release_group = MusicBrainz::ReleaseGroup.find_by_artist_and_title('Kasabian', 'Empire')
|
||||
release_group.id.should == '246bc928-2dc8-35ba-80ee-7a0079de1632'
|
||||
end
|
||||
end
|
||||
|
||||
it "gets correct release group's releases" do
|
||||
releases = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61").releases
|
||||
releases.length.should be >= 5
|
||||
releases.first.id.should == "2225dd4c-ae9a-403b-8ea0-9e05014c778f"
|
||||
releases.first.status.should == "Official"
|
||||
releases.first.title.should == "Empire"
|
||||
releases.first.date.should == Date.new(2006, 8, 28)
|
||||
releases.first.country.should == "GB"
|
||||
|
||||
describe '#releases' do
|
||||
it "gets correct release group's releases" do
|
||||
releases = MusicBrainz::ReleaseGroup.find("6f33e0f0-cde2-38f9-9aee-2c60af8d1a61").releases
|
||||
releases.length.should be >= 5
|
||||
releases.first.id.should == "2225dd4c-ae9a-403b-8ea0-9e05014c778f"
|
||||
releases.first.status.should == "Official"
|
||||
releases.first.title.should == "Empire"
|
||||
releases.first.date.should == Date.new(2006, 8, 28)
|
||||
releases.first.country.should == "GB"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user