mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: Embeddable Discourse comments, now with simple-rss instead of feedzirra
This commit is contained in:
46
spec/components/topic_retriever_spec.rb
Normal file
46
spec/components/topic_retriever_spec.rb
Normal file
@@ -0,0 +1,46 @@
|
||||
require 'spec_helper'
|
||||
require_dependency 'topic_retriever'
|
||||
|
||||
describe TopicRetriever do
|
||||
|
||||
let(:embed_url) { "http://eviltrout.com/2013/02/10/why-discourse-uses-emberjs.html" }
|
||||
let(:topic_retriever) { TopicRetriever.new(embed_url) }
|
||||
|
||||
it "does not call perform_retrieve when embeddable_host is not set" do
|
||||
SiteSetting.expects(:embeddable_host).returns(nil)
|
||||
topic_retriever.expects(:perform_retrieve).never
|
||||
topic_retriever.retrieve
|
||||
end
|
||||
|
||||
it "does not call perform_retrieve when embeddable_host is different than the host of the URL" do
|
||||
SiteSetting.expects(:embeddable_host).returns("eviltuna.com")
|
||||
topic_retriever.expects(:perform_retrieve).never
|
||||
topic_retriever.retrieve
|
||||
end
|
||||
|
||||
it "does not call perform_retrieve when the embed url is not a url" do
|
||||
r = TopicRetriever.new("not a url")
|
||||
r.expects(:perform_retrieve).never
|
||||
r.retrieve
|
||||
end
|
||||
|
||||
context "with a valid host" do
|
||||
before do
|
||||
SiteSetting.expects(:embeddable_host).returns("eviltrout.com")
|
||||
end
|
||||
|
||||
it "calls perform_retrieve if it hasn't been retrieved recently" do
|
||||
topic_retriever.expects(:perform_retrieve).once
|
||||
topic_retriever.expects(:retrieved_recently?).returns(false)
|
||||
topic_retriever.retrieve
|
||||
end
|
||||
|
||||
it "doesn't call perform_retrieve if it's been retrieved recently" do
|
||||
topic_retriever.expects(:perform_retrieve).never
|
||||
topic_retriever.expects(:retrieved_recently?).returns(true)
|
||||
topic_retriever.retrieve
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user