deliver needs to be called on the return value of the mailer call
This commit is contained in:
parent
f62ba0f73c
commit
3a90386303
7 changed files with 18 additions and 17 deletions
|
|
@ -7,7 +7,7 @@ class ExportMailer < ActionMailer::Base
|
||||||
mail(to: @user.email, subject: I18n.t('notifier.export_email.subject', name: @user.name)) do |format|
|
mail(to: @user.email, subject: I18n.t('notifier.export_email.subject', name: @user.name)) do |format|
|
||||||
format.html { render 'users/export_email' }
|
format.html { render 'users/export_email' }
|
||||||
format.text { render 'users/export_email' }
|
format.text { render 'users/export_email' }
|
||||||
end.deliver
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def export_failure_for(user)
|
def export_failure_for(user)
|
||||||
|
|
@ -16,7 +16,7 @@ class ExportMailer < ActionMailer::Base
|
||||||
mail(to: @user.email, subject: I18n.t('notifier.export_failure_email.subject', name: @user.name)) do |format|
|
mail(to: @user.email, subject: I18n.t('notifier.export_failure_email.subject', name: @user.name)) do |format|
|
||||||
format.html { render 'users/export_failure_email' }
|
format.html { render 'users/export_failure_email' }
|
||||||
format.text { render 'users/export_failure_email' }
|
format.text { render 'users/export_failure_email' }
|
||||||
end.deliver
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,14 @@ class ReportMailer < ActionMailer::Base
|
||||||
:type => I18n.t('notifier.report_email.type.' + type),
|
:type => I18n.t('notifier.report_email.type.' + type),
|
||||||
:id => id
|
:id => id
|
||||||
}
|
}
|
||||||
|
|
||||||
Role.admins.each do |role|
|
Role.admins.each do |role|
|
||||||
person = Person.find(role.person_id)
|
person = Person.find(role.person_id)
|
||||||
if person.local?
|
if person.local?
|
||||||
user = User.find_by_id(person.owner_id)
|
user = User.find_by_id(person.owner_id)
|
||||||
unless user.user_preferences.exists?(:email_type => :someone_reported)
|
unless user.user_preferences.exists?(:email_type => :someone_reported)
|
||||||
resource[:email] = user.email
|
resource[:email] = user.email
|
||||||
format(resource).deliver_now
|
format(resource)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,9 @@ module Workers
|
||||||
@user.perform_export!
|
@user.perform_export!
|
||||||
|
|
||||||
if @user.reload.export.present?
|
if @user.reload.export.present?
|
||||||
ExportMailer.export_complete_for(@user)
|
ExportMailer.export_complete_for(@user).deliver_now
|
||||||
else
|
else
|
||||||
ExportMailer.export_failure_for(@user)
|
ExportMailer.export_failure_for(@user).deliver_now
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ module Workers
|
||||||
sidekiq_options queue: :mail
|
sidekiq_options queue: :mail
|
||||||
|
|
||||||
def perform(type, id)
|
def perform(type, id)
|
||||||
ReportMailer.new_report(type, id)
|
ReportMailer.new_report(type, id).deliver_now
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -7,30 +7,30 @@ require 'spec_helper'
|
||||||
describe ExportMailer, :type => :mailer do
|
describe ExportMailer, :type => :mailer do
|
||||||
describe '#export_complete_for' do
|
describe '#export_complete_for' do
|
||||||
it "should deliver successfully" do
|
it "should deliver successfully" do
|
||||||
expect { ExportMailer.export_complete_for(alice) }.to_not raise_error
|
expect { ExportMailer.export_complete_for(alice).deliver_now }.to_not raise_error
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should be added to the delivery queue" do
|
it "should be added to the delivery queue" do
|
||||||
expect { ExportMailer.export_complete_for(alice) }.to change(ActionMailer::Base.deliveries, :size).by(1)
|
expect { ExportMailer.export_complete_for(alice).deliver_now }.to change(ActionMailer::Base.deliveries, :size).by(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should include correct recipient" do
|
it "should include correct recipient" do
|
||||||
ExportMailer.export_complete_for(alice)
|
ExportMailer.export_complete_for(alice).deliver_now
|
||||||
expect(ActionMailer::Base.deliveries[0].to[0]).to include(alice.email)
|
expect(ActionMailer::Base.deliveries[0].to[0]).to include(alice.email)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#export_failure_for' do
|
describe '#export_failure_for' do
|
||||||
it "should deliver successfully" do
|
it "should deliver successfully" do
|
||||||
expect { ExportMailer.export_failure_for(alice) }.to_not raise_error
|
expect { ExportMailer.export_failure_for(alice).deliver_now }.to_not raise_error
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should be added to the delivery queue" do
|
it "should be added to the delivery queue" do
|
||||||
expect { ExportMailer.export_failure_for(alice) }.to change(ActionMailer::Base.deliveries, :size).by(1)
|
expect { ExportMailer.export_failure_for(alice).deliver_now }.to change(ActionMailer::Base.deliveries, :size).by(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should include correct recipient" do
|
it "should include correct recipient" do
|
||||||
ExportMailer.export_failure_for(alice)
|
ExportMailer.export_failure_for(alice).deliver_now
|
||||||
expect(ActionMailer::Base.deliveries[0].to[0]).to include(alice.email)
|
expect(ActionMailer::Base.deliveries[0].to[0]).to include(alice.email)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -14,18 +14,18 @@ describe Report, :type => :mailer do
|
||||||
|
|
||||||
it "should deliver successfully" do
|
it "should deliver successfully" do
|
||||||
expect {
|
expect {
|
||||||
ReportMailer.new_report('post', 666)
|
ReportMailer.new_report('post', 666).deliver_now
|
||||||
}.to_not raise_error
|
}.to_not raise_error
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should be added to the delivery queue" do
|
it "should be added to the delivery queue" do
|
||||||
expect {
|
expect {
|
||||||
ReportMailer.new_report('post', 666)
|
ReportMailer.new_report('post', 666).deliver_now
|
||||||
}.to change(ActionMailer::Base.deliveries, :size).by(1)
|
}.to change(ActionMailer::Base.deliveries, :size).by(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should include correct recipient" do
|
it "should include correct recipient" do
|
||||||
ReportMailer.new_report('post', 666)
|
ReportMailer.new_report('post', 666).deliver_now
|
||||||
expect(ActionMailer::Base.deliveries[0].to[0]).to include(@user.email)
|
expect(ActionMailer::Base.deliveries[0].to[0]).to include(@user.email)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -13,14 +13,14 @@ describe Workers::ExportUser do
|
||||||
|
|
||||||
it 'sends a success message when the export is successful' do
|
it 'sends a success message when the export is successful' do
|
||||||
alice.stub(:export).and_return(OpenStruct.new)
|
alice.stub(:export).and_return(OpenStruct.new)
|
||||||
expect(ExportMailer).to receive(:export_complete_for).with(alice)
|
expect(ExportMailer).to receive(:export_complete_for).with(alice).and_call_original
|
||||||
Workers::ExportUser.new.perform(alice.id)
|
Workers::ExportUser.new.perform(alice.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sends a failure message when the export fails' do
|
it 'sends a failure message when the export fails' do
|
||||||
alice.stub(:export).and_return(nil)
|
alice.stub(:export).and_return(nil)
|
||||||
expect(alice).to receive(:perform_export!).and_return(false)
|
expect(alice).to receive(:perform_export!).and_return(false)
|
||||||
expect(ExportMailer).to receive(:export_failure_for).with(alice)
|
expect(ExportMailer).to receive(:export_failure_for).with(alice).and_call_original
|
||||||
Workers::ExportUser.new.perform(alice.id)
|
Workers::ExportUser.new.perform(alice.id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue