Newer
Older
describe "Dispatching", type: :request do
context "a comment retraction on a public post" do
it "triggers a public dispatch" do
# Alice has a public post and comments on it
post = FactoryGirl.create(:status_message, public: true, author: alice.person)
comment = alice.comment!(post, "awesomesauseum")
inlined_jobs do
# Alice now retracts her comment
expect(Diaspora::Federation::Dispatcher::Public).to receive(:new).and_return(double(dispatch: true))
expect(Diaspora::Federation::Dispatcher::Private).not_to receive(:new)
alice.retract(comment)
end
end
end
context "a comment retraction on a private post" do
it "triggers a private dispatch" do
# Alice has a private post and comments on it
post = alice.post(:status_message, text: "hello", to: alice.aspects.first)
comment = alice.comment!(post, "awesomesauseum")
# Alice now retracts her comment
expect(Diaspora::Federation::Dispatcher::Public).not_to receive(:new)
expect(Diaspora::Federation::Dispatcher::Private).to receive(:new).and_return(double(dispatch: true))
alice.retract(comment)
end