Merge pull request #1034 from chrishunt/rebake-oneboxes

Optionally rebake oneboxes with posts:rebake task
This commit is contained in:
Sam
2013-06-20 01:18:57 -07:00
4 changed files with 70 additions and 21 deletions

View File

@ -2,10 +2,39 @@ require 'spec_helper'
describe PostAnalyzer do
let(:topic) { Fabricate(:topic) }
let(:default_topic_id) { topic.id }
let(:post_args) do
{user: topic.user, topic: topic}
let(:default_topic_id) { 12 }
describe '#cook' do
let(:post_analyzer) { described_class.new nil, nil }
let(:args) { [raw, options] }
let(:raw) { "Here's a tweet:\n#{url}" }
let(:options) { {} }
let(:url) {
'https://twitter.com/evil_trout/status/345954894420787200'
}
before { Oneboxer.stubs(:onebox) }
it 'fetches the onebox for any urls in the post' do
Oneboxer.expects(:onebox).with url
post_analyzer.cook(*args)
end
it 'does not invalidate the onebox cache' do
Oneboxer.expects(:invalidate).with(url).never
post_analyzer.cook(*args)
end
context 'when invalidating oneboxes' do
let(:options) {{ invalidate_oneboxes: true }}
it 'invalidates the oneboxes for urls in the post' do
Oneboxer.expects(:invalidate).with url
post_analyzer.cook(*args)
end
end
end
context "links" do
@ -115,6 +144,7 @@ describe PostAnalyzer do
end
it "finds links from markdown" do
Oneboxer.stubs :onebox
post_analyzer = PostAnalyzer.new(raw_post_one_link_md, default_topic_id)
post_analyzer.link_count.should == 1
end

View File

@ -2,6 +2,8 @@ require 'spec_helper'
require_dependency 'post_destroyer'
describe Post do
before { Oneboxer.stubs :onebox }
# Help us build a post with a raw body
def post_with_body(body, user=nil)
args = post_args.merge(raw: body)