1
0
Fork 0

Stubs music artist search.

This commit is contained in:
Mathias Gawlista 2013-06-14 11:31:51 +02:00
parent 15e601f0ff
commit 6c2d47544a
2 changed files with 73 additions and 8 deletions

67
spec/fixtures/artist/search.xml vendored Normal file
View File

@ -0,0 +1,67 @@
<?xml version="1.0" standalone="yes"?>
<metadata created="2013-06-11T14:02:53.104Z" xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ext="http://musicbrainz.org/ns/ext#-2.0">
<artist-list count="5" offset="0">
<artist id="90fff570-a4ef-4cd4-ba21-e00c7261b05a" type="Person" ext:score="100">
<name>Chris Martin</name>
<sort-name>Martin, Chris</sort-name>
<disambiguation>Reggae / Dancehall singer Christopher Martin</disambiguation>
<life-span>
<ended>false</ended>
</life-span>
</artist>
<artist id="b732a912-af95-472c-be52-b14610734c64" type="Person" ext:score="100">
<name>Chris Martin</name>
<sort-name>Martin, Chris</sort-name>
<disambiguation>Illustrator</disambiguation>
<life-span>
<ended>false</ended>
</life-span>
</artist>
<artist id="98d1ec5a-dd97-4c0b-9c83-7928aac89bca" type="Person" ext:score="100">
<name>Chris Martin</name>
<sort-name>Martin, Chris</sort-name>
<gender>male</gender>
<country>GB</country>
<area id="8a754a16-0027-3a29-b6d7-2b40ea0481ed">
<name>United Kingdom</name>
<sort-name>United Kingdom</sort-name>
</area>
<disambiguation>lead singer of Coldplay</disambiguation>
<ipi-list>
<ipi>00280536565</ipi>
</ipi-list>
<life-span>
<begin>1977-03-02</begin>
<ended>false</ended>
</life-span>
<alias-list>
<alias sort-name="Martin, Christopher Anthony John" type="Legal name">Christopher Anthony John Martin</alias>
</alias-list>
<tag-list>
<tag count="1">
<name>pop/rock</name>
</tag>
</tag-list>
</artist>
<artist id="af2ab893-3212-4226-9e73-73a1660b6952" type="Person" ext:score="100">
<name>Chris Martin</name>
<sort-name>Martin, Chris</sort-name>
<disambiguation>hip hop producer DJ Premier, DJ Primo</disambiguation>
<life-span>
<begin>1965-05-05</begin>
<ended>false</ended>
</life-span>
<alias-list>
<alias sort-name="Christopher Edward Martin">Christopher Edward Martin</alias>
</alias-list>
</artist>
<artist id="444d1b63-534b-4ea6-89f0-0af6ab2e20c3" type="Person" ext:score="100">
<name>Chris Martin</name>
<sort-name>Martin, Chris</sort-name>
<disambiguation>Disney songwriter/composer</disambiguation>
<life-span>
<ended>false</ended>
</life-span>
</artist>
</artist-list>
</metadata>

View File

@ -21,18 +21,16 @@ describe MusicBrainz::Artist do
end
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
MusicBrainz::Client.any_instance.stub(:get_contents).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[0][:score].should == 100
matches[0][:id].should == "98d1ec5a-dd97-4c0b-9c83-7928aac89bca"
matches[0][:id].should == "90fff570-a4ef-4cd4-ba21-e00c7261b05a"
matches[1][:score].should == 100
matches[1][:id].should == "af2ab893-3212-4226-9e73-73a1660b6952"
end
it "finds name first than alias" do
matches = MusicBrainz::Artist.search('Chris Martin')
matches.length.should be > 0
matches.first[:mbid].should == "98d1ec5a-dd97-4c0b-9c83-7928aac89bca"
matches[1][:id].should == "b732a912-af95-472c-be52-b14610734c64"
end
it "gets correct result by name" do