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,10 +8,13 @@ class ReportMailer < ActionMailer::Base
|
||||||
:id => id
|
:id => id
|
||||||
}
|
}
|
||||||
Role.admins.each do |role|
|
Role.admins.each do |role|
|
||||||
user = User.find_by_id(role.person_id)
|
person = Person.find(role.person_id)
|
||||||
unless user.user_preferences.exists?(:email_type => :someone_reported)
|
if person.local?
|
||||||
resource[:email] = user.email
|
user = User.find_by_id(person.owner_id)
|
||||||
format(resource).deliver
|
unless user.user_preferences.exists?(:email_type => :someone_reported)
|
||||||
|
resource[:email] = user.email
|
||||||
|
format(resource).deliver
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,13 @@ require 'spec_helper'
|
||||||
describe Report do
|
describe Report do
|
||||||
describe '#make_notification' do
|
describe '#make_notification' do
|
||||||
before do
|
before do
|
||||||
@user = bob
|
@remote = FactoryGirl.create(:person, :diaspora_handle => "remote@remote.net")
|
||||||
Role.add_admin(@user)
|
@user = FactoryGirl.create(:user_with_aspect, :username => "local")
|
||||||
|
Role.add_admin(@user.person)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should deliver successfully" do
|
it "should deliver successfully" do
|
||||||
expect {
|
expect {
|
||||||
ReportMailer.new_report('post', 666)
|
ReportMailer.new_report('post', 666)
|
||||||
}.to_not raise_error
|
}.to_not raise_error
|
||||||
end
|
end
|
||||||
|
|
@ -22,5 +23,10 @@ describe Report do
|
||||||
ReportMailer.new_report('post', 666)
|
ReportMailer.new_report('post', 666)
|
||||||
}.to change(ActionMailer::Base.deliveries, :size).by(1)
|
}.to change(ActionMailer::Base.deliveries, :size).by(1)
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue