spec/lita/handlers/wikipedia_spec.rb in lita-wikipedia-0.0.3 vs spec/lita/handlers/wikipedia_spec.rb in lita-wikipedia-0.0.4

- old
+ new

@@ -1,43 +1,36 @@ require "spec_helper" describe Lita::Handlers::Wikipedia, lita_handler: true do - it { routes_command("wikipedia ruby language").to(:wikipedia) } - it { routes_command("wiki ruby language").to(:wikipedia) } + it { is_expected.to route_command("wikipedia ruby language").to(:wikipedia) } + it { is_expected.to route_command("wiki ruby language").to(:wikipedia) } describe "#wikipedia" do it "returns the 1st paragraph & link to the Wikipedia entry for a query" do send_command "wikipedia ruby language" expect(replies[0]).to match 'Ruby is a dynamic, reflective, object-oriented, general-purpose programming language. It was designed and developed in the mid-1990s by Yukihiro "Matz" Matsumoto in Japan.' expect(replies[1]).to match 'Source: http://en.wikipedia.org/wiki/Ruby_(programming_language)' end - it "responds with a random matching article when disambiguation occurs" do + it "handles commas in queries correctly" do + send_command "wiki indio, ca" + expect(replies[1]).to match 'Source: http://en.wikipedia.org/wiki/Indio,_California' + end + + it "handles lowercase queries and articles with templates correctly" do + send_command "wiki gabriola island" + expect(replies[0]).not_to include 'redirects here' + expect(replies[1]).to match 'Source: http://en.wikipedia.org/wiki/Gabriola_Island' + end + + it "responds with the disambiguation page on appropriate queries" do send_command "wiki 12th man" - responses = [ - "Source: http://en.wikipedia.org/wiki/The_Twelfth_Man", - "Source: http://en.wikipedia.org/wiki/The_12th_Man_(album)", - "Source: http://en.wikipedia.org/wiki/12th_man_(football)", - "Source: http://en.wikipedia.org/wiki/Glossary_of_cricket_terms" - ] - expect(responses).to include(replies[1]) + expect(replies[0]).to match 'The phrase 12th Man or Twelfth Man can refer to:' + expect(replies[1]).to match 'Source: http://en.wikipedia.org/wiki/12th_Man' end it "returns an error message if no article is found" do send_command "wiki asdfasdfa" - expect(replies.first).to match "No Wikipedia entry found for 'asdfasdfa'." - end - end - - describe "#disambiguate" do - it "resolves disambiguation by returning a random matching article" do - extract, url = disambiguate('12th man') - urls = [ - "http://en.wikipedia.org/wiki/The_Twelfth_Man", - "http://en.wikipedia.org/wiki/The_12th_Man_(album)", - "http://en.wikipedia.org/wiki/12th_man_(football)", - "http://en.wikipedia.org/wiki/Glossary_of_cricket_terms" - ] - expect(urls).to include(url) + expect(replies.first).to match "No Wikipedia entry found for 'asdfasdfa'" end end end