Move repo rename email to notification service

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
Dmitriy Zaporozhets 2014-01-15 14:03:52 +02:00
parent 065d9c22fa
commit 2e7abbd66c
No known key found for this signature in database
GPG Key ID: 627C5F589F467F17
3 changed files with 35 additions and 3 deletions

View File

@ -270,9 +270,7 @@ class Project < ActiveRecord::Base
end
def send_move_instructions
team.members.each do |user|
Notify.delay.project_was_moved_email(self.id, user.id)
end
NotificationService.new.project_was_moved(self)
end
def owner

View File

@ -157,6 +157,15 @@ class NotificationService
mailer.group_access_granted_email(users_group.id)
end
def project_was_moved(project)
recipients = project.team.members
recipients = reject_muted_users(recipients, project)
recipients.each do |recipient|
mailer.project_was_moved_email(project.id, recipient.id)
end
end
protected
# Get project users with WATCH notification level

View File

@ -233,6 +233,31 @@ describe NotificationService do
end
end
describe 'Projects' do
let(:project) { create :project }
before do
build_team(project)
end
describe :project_was_moved do
it do
should_email(@u_watcher.id)
should_email(@u_participating.id)
should_not_email(@u_disabled.id)
notification.project_was_moved(project)
end
def should_email(user_id)
Notify.should_receive(:project_was_moved_email).with(project.id, user_id)
end
def should_not_email(user_id)
Notify.should_not_receive(:project_was_moved_email).with(project.id, user_id)
end
end
end
def build_team(project)
@u_watcher = create(:user, notification_level: Notification::N_WATCH)
@u_participating = create(:user, notification_level: Notification::N_PARTICIPATING)