30 lines
764 B
Ruby
30 lines
764 B
Ruby
# frozen_string_literal: true
|
|
|
|
require "rails_helper"
|
|
|
|
RSpec.describe Jobs::ClosePoll do
|
|
let(:post) { Fabricate(:post, raw: "[poll]\n- A\n- B\n[/poll]") }
|
|
|
|
describe "missing arguments" do
|
|
it "should raise the right error" do
|
|
expect do Jobs::ClosePoll.new.execute(post_id: post.id) end.to raise_error(
|
|
Discourse::InvalidParameters,
|
|
"poll_name",
|
|
)
|
|
|
|
expect do Jobs::ClosePoll.new.execute(poll_name: "poll") end.to raise_error(
|
|
Discourse::InvalidParameters,
|
|
"post_id",
|
|
)
|
|
end
|
|
end
|
|
|
|
it "automatically closes a poll" do
|
|
expect(post.polls.first.closed?).to eq(false)
|
|
|
|
Jobs::ClosePoll.new.execute(post_id: post.id, poll_name: "poll")
|
|
|
|
expect(post.polls.first.closed?).to eq(true)
|
|
end
|
|
end
|