39 lines
1.0 KiB
Ruby
39 lines
1.0 KiB
Ruby
![]() |
require 'rails_helper'
|
||
|
|
||
|
describe AbuseReportMailer do
|
||
|
include EmailSpec::Matchers
|
||
|
|
||
|
describe '.notify' do
|
||
|
context 'with admin_notification_email set' do
|
||
|
before do
|
||
|
stub_application_setting(admin_notification_email: 'admin@example.com')
|
||
|
end
|
||
|
|
||
|
it 'sends to the admin_notification_email' do
|
||
|
report = create(:abuse_report)
|
||
|
|
||
|
mail = described_class.notify(report.id)
|
||
|
|
||
|
expect(mail).to deliver_to 'admin@example.com'
|
||
|
end
|
||
|
|
||
|
it 'includes the user in the subject' do
|
||
|
report = create(:abuse_report)
|
||
|
|
||
|
mail = described_class.notify(report.id)
|
||
|
|
||
|
expect(mail).to have_subject "#{report.user.name} (#{report.user.username}) was reported for abuse"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'with no admin_notification_email set' do
|
||
|
it 'returns early' do
|
||
|
stub_application_setting(admin_notification_email: nil)
|
||
|
|
||
|
expect { described_class.notify(spy).deliver_now }.
|
||
|
not_to change { ActionMailer::Base.deliveries.count }
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|