test/test_artist.rb in meta-spotify-0.1.2 vs test/test_artist.rb in meta-spotify-0.1.3

- old
+ new

@@ -1,24 +1,48 @@ require 'helper' class TestArtist < Test::Unit::TestCase context "searching for an artist name" do - setup do - FakeWeb.register_uri(:get, - "http://ws.spotify.com/search/1/artist?q=foo", - :body => fixture_file("artist_search.xml")) - @results = MetaSpotify::Artist.search('foo') + context "many results" do + setup do + FakeWeb.register_uri(:get, + "http://ws.spotify.com/search/1/artist?q=foo", + :body => fixture_file("artist_search.xml")) + @results = MetaSpotify::Artist.search('foo') + end + should "return a list of results and search meta" do + assert_kind_of Array, @results[:artists] + assert_kind_of MetaSpotify::Artist, @results[:artists].first + assert_equal "Foo Fighters", @results[:artists].first.name + assert_equal 0.89217, @results[:artists].first.popularity + assert_equal 1, @results[:query][:start_page] + assert_equal 'request', @results[:query][:role] + assert_equal "foo", @results[:query][:search_terms] + assert_equal 100, @results[:items_per_page] + assert_equal 0, @results[:start_index] + assert_equal 9, @results[:total_results] + end end - should "return a list of results and search meta" do - assert_kind_of Array, @results[:artists] - assert_kind_of MetaSpotify::Artist, @results[:artists].first - assert_equal "Foo Fighters", @results[:artists].first.name - assert_equal 1, @results[:query][:start_page] - assert_equal 'request', @results[:query][:role] - assert_equal "foo", @results[:query][:search_terms] - assert_equal 100, @results[:items_per_page] - assert_equal 0, @results[:start_index] - assert_equal 9, @results[:total_results] + context "a single result" do + setup do + FakeWeb.register_uri(:get, + "http://ws.spotify.com/search/1/artist?q=1200%20Micrograms", + :body => fixture_file("artist_search_one_result.xml")) + @results = MetaSpotify::Artist.search('1200 Micrograms') + end + should "still return a list of results, for consistency" do + assert_kind_of Array, @results[:artists] + assert_equal 1, @results[:artists].length + assert_kind_of MetaSpotify::Artist, @results[:artists].first + assert_equal "1200 Micrograms", @results[:artists].first.name + assert_equal 0.48196, @results[:artists].first.popularity + assert_equal 1, @results[:query][:start_page] + assert_equal 'request', @results[:query][:role] + assert_equal "1200 Micrograms", @results[:query][:search_terms] + assert_equal 100, @results[:items_per_page] + assert_equal 0, @results[:start_index] + assert_equal 1, @results[:total_results] + end end end context "looking up an artist" do setup do \ No newline at end of file