Merge branch 'improve/notification' of /home/git/repositories/gitlab/gitlabhq

This commit is contained in:
Dmitriy Zaporozhets
2014-01-15 13:07:19 +00:00
3 changed files with 35 additions and 3 deletions
+1 -3
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
+9
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
@@ -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)