| 
              require 'spec_helper'
describe Agents::TumblrPublishAgent do
  before do
    @opts = {
      :blog_name => "huginnbot.tumblr.com",
      :post_type => "text",
      :expected_update_period_in_days => "2",
      :options => {
        :title => "{{title}}",
        :body => "{{body}}",
      },
    }
    @checker = Agents::TumblrPublishAgent.new(:name => "HuginnBot", :options => @opts)
    @checker.service = services(:generic)
    @checker.user = users(:bob)
    @checker.save!
    @event = Event.new
    @event.agent = agents(:bob_weather_agent)
    @event.payload = { :title => "Gonna rain...", :body => 'San Francisco is gonna get wet' }
    @event.save!
    stub.any_instance_of(Agents::TumblrPublishAgent).tumblr {
      stub!.text(anything, anything) { { "id" => "5" } }
    }
  end
  describe '#receive' do
    it 'should publish any payload it receives' do
      Agents::TumblrPublishAgent.async_receive(@checker.id, [@event.id])
      expect(@checker.events.count).to eq(1)
      expect(@checker.events.first.payload['post_id']).to eq('5')
      expect(@checker.events.first.payload['published_post']).to eq('[huginnbot.tumblr.com] text')
    end
  end
end
 
  |