require 'spec_helper' require 'jobs/process_post' describe Jobs::ProcessPost do it "returns when the post cannot be found" do lambda { Jobs::ProcessPost.new.perform(post_id: 1, sync_exec: true) }.should_not raise_error end context 'with a post' do before do @post = Fabricate(:post) end it 'calls process on a CookedPostProcessor' do CookedPostProcessor.any_instance.expects(:post_process).once Jobs::ProcessPost.new.execute(post_id: @post.id) end it 'updates the html if the dirty flag is true' do CookedPostProcessor.any_instance.expects(:dirty?).returns(true) CookedPostProcessor.any_instance.expects(:html).returns('test') Post.any_instance.expects(:update_column).with(:cooked, 'test').once Jobs::ProcessPost.new.execute(post_id: @post.id) end it "doesn't update the cooked content if dirty is false" do CookedPostProcessor.any_instance.expects(:dirty?).returns(false) Post.any_instance.expects(:update_column).never Jobs::ProcessPost.new.execute(post_id: @post.id) end end end