34 lines
805 B
Ruby
34 lines
805 B
Ruby
require "rails_helper"
|
|
|
|
RSpec.describe Slack::Announcer, type: :service do
|
|
it "does not call the client if any of the params is blank" do
|
|
allow(SlackClient).to receive(:ping)
|
|
|
|
params = {
|
|
message: "something",
|
|
channel: nil,
|
|
username: "",
|
|
icon_emoji: ":o:"
|
|
}
|
|
expect(described_class.call(params)).to be_nil
|
|
expect(SlackClient).not_to have_received(:ping)
|
|
end
|
|
|
|
it "calls the client if all params are given" do
|
|
allow(SlackClient).to receive(:ping)
|
|
|
|
message = "hello there"
|
|
params = {
|
|
message: message,
|
|
channel: "#help",
|
|
username: "bob",
|
|
icon_emoji: ":o:"
|
|
}
|
|
|
|
described_class.call(params)
|
|
|
|
expect(SlackClient).to have_received(:ping)
|
|
.with(message, params.reject { |k| k == :message })
|
|
.once
|
|
end
|
|
end
|