mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-12 06:06:05 +10:00
Merge branch 'improve/notification' of /home/git/repositories/gitlab/gitlabhq
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user