Reports email notification; wrong recipient
The mailer uses the person_id to find a user which cannot work on a production environment. I haven't used a remote user on my test setup.
This commit is contained in:
parent
c475a3985e
commit
01a45ccf40
2 changed files with 16 additions and 7 deletions
|
|
@ -8,13 +8,16 @@ class ReportMailer < ActionMailer::Base
|
|||
:id => id
|
||||
}
|
||||
Role.admins.each do |role|
|
||||
user = User.find_by_id(role.person_id)
|
||||
person = Person.find(role.person_id)
|
||||
if person.local?
|
||||
user = User.find_by_id(person.owner_id)
|
||||
unless user.user_preferences.exists?(:email_type => :someone_reported)
|
||||
resource[:email] = user.email
|
||||
format(resource).deliver
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def format(resource)
|
||||
|
|
|
|||
|
|
@ -7,8 +7,9 @@ require 'spec_helper'
|
|||
describe Report do
|
||||
describe '#make_notification' do
|
||||
before do
|
||||
@user = bob
|
||||
Role.add_admin(@user)
|
||||
@remote = FactoryGirl.create(:person, :diaspora_handle => "remote@remote.net")
|
||||
@user = FactoryGirl.create(:user_with_aspect, :username => "local")
|
||||
Role.add_admin(@user.person)
|
||||
end
|
||||
|
||||
it "should deliver successfully" do
|
||||
|
|
@ -22,5 +23,10 @@ describe Report do
|
|||
ReportMailer.new_report('post', 666)
|
||||
}.to change(ActionMailer::Base.deliveries, :size).by(1)
|
||||
end
|
||||
|
||||
it "should include correct recipient" do
|
||||
ReportMailer.new_report('post', 666)
|
||||
expect(ActionMailer::Base.deliveries[0].to[0]).to include(@user.email)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue