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