У меня есть класс, который отвечает за отправку прямого сообщения о Slack каждому репортеру, который не обновил свой билет Jira в течение 2 дней. Для отправки сообщения описанный класс использовал метод send_message
(под ним HTTParty.post). Я c использую гем VCR, но я не знаю, как проверить такое поведение, если в конце я не получаю код 2xx или 3xx.
reporter_reminder_messenger
class ReporterReminderMessenger
def call
fetch_pending.each do |issue|
send_message(issue)
end
end
private
def fetch_pending
@fetch_pending ||= Jira::FetchPendingStatus.new.call
end
def send_message(issue)
MessageSender.new(
user_id: get_user_id(reporter_email(issue)),
message: create_text_message(issue)
).call
end
Я пытался проверить изменения в MessageSender
классе (fetch_pending.count == 4
из ReporterReminderMessenger.call)
specs
RSpec.describe ReporterReminderMessenger do
let(:reporter_reminder) { ReporterReminderMessenger.new.call }
it 'returns only pending issues' do
VCR.use_cassette('reminder_messenger') do
expect { reporter_reminder }.to change { MessageSender }.by(4)
end
end
end
Но я получаю сообщение об ошибке:
NoMethodError:
undefined method `-' for Slack::MessageSender:Class