Merge pull request #5020 from Zauberstuhl/reports_email_notification_bug

[Bug] Reports email notification; wrong recipient
This commit is contained in:
Jason Robinson 2014-06-24 22:17:25 +03:00
commit e776beed11
2 changed files with 16 additions and 7 deletions

View file

@ -8,10 +8,13 @@ class ReportMailer < ActionMailer::Base
:id => id
}
Role.admins.each do |role|
user = User.find_by_id(role.person_id)
unless user.user_preferences.exists?(:email_type => :someone_reported)
resource[:email] = user.email
format(resource).deliver
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

View file

@ -7,12 +7,13 @@ 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
expect {
expect {
ReportMailer.new_report('post', 666)
}.to_not raise_error
end
@ -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