when 'all'
true
when 'selected'
- # Handled by the Project
+ # user receives notifications for created/assigned issues on unselected projects
+ if object.is_a?(Issue) && (object.author == self || object.assigned_to == self)
+ true
+ else
+ false
+ end
when 'none'
false
when 'only_my_events'
should "be false for a user with :only_my_events and isn't an author, creator, or assignee" do
@user = User.generate_with_protected!(:mail_notification => 'only_my_events')
+ Member.create!(:user => @user, :project => @project, :role_ids => [1])
assert ! @user.notify_about?(@issue)
end
@assignee.update_attribute(:mail_notification, 'only_owner')
assert ! @assignee.notify_about?(@issue)
end
+
+ should "be true for a user with :selected and is the author" do
+ @author.update_attribute(:mail_notification, 'selected')
+ assert @author.notify_about?(@issue)
+ end
+
+ should "be true for a user with :selected and is the assignee" do
+ @assignee.update_attribute(:mail_notification, 'selected')
+ assert @assignee.notify_about?(@issue)
+ end
+
+ should "be false for a user with :selected and is not the author or assignee" do
+ @user = User.generate_with_protected!(:mail_notification => 'selected')
+ Member.create!(:user => @user, :project => @project, :role_ids => [1])
+ assert ! @user.notify_about?(@issue)
+ end
end
context "other events" do