|
require 'rails_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
|