Merge branch 'duplicate_notifications_fix' into 'master'
Fixed duplicated issue note email notifications. Fixes #2560 See issue for the details. Without `uniq` modified tests were failing with: ``` Failure/Error: notification.new_note(note) (Notify (class)).note_issue_email(21, 1) expected: 1 time with arguments: (21, 1) received: 2 times with arguments: (21, 1) # /home/bak1an/.rvm/gems/ruby-2.1.6@gitlab/gems/sidekiq-3.3.0/lib/sidekiq/extensions/action_mailer.rb:17:in `public_send' # /home/bak1an/.rvm/gems/ruby-2.1.6@gitlab/gems/sidekiq-3.3.0/lib/sidekiq/extensions/action_mailer.rb:17:in `perform' # /home/bak1an/.rvm/gems/ruby-2.1.6@gitlab/gems/sidekiq-3.3.0/lib/sidekiq/testing.rb:74:in `block in raw_push' # /home/bak1an/.rvm/gems/ruby-2.1.6@gitlab/gems/sidekiq-3.3.0/lib/sidekiq/testing.rb:69:in `each' # /home/bak1an/.rvm/gems/ruby-2.1.6@gitlab/gems/sidekiq-3.3.0/lib/sidekiq/testing.rb:69:in `raw_push' # /home/bak1an/.rvm/gems/ruby-2.1.6@gitlab/gems/sidekiq-3.3.0/lib/sidekiq/client.rb:68:in `push' # /home/bak1an/.rvm/gems/ruby-2.1.6@gitlab/gems/sidekiq-3.3.0/lib/sidekiq/worker.rb:85:in `client_push' # /home/bak1an/.rvm/gems/ruby-2.1.6@gitlab/gems/sidekiq-3.3.0/lib/sidekiq/extensions/generic_proxy.rb:19:in `method_missing' # ./app/services/notification_service.rb:144:in `block in new_note' # ./app/services/notification_service.rb:143:in `each' # ./app/services/notification_service.rb:143:in `new_note' # ./spec/services/notification_service_spec.rb:63:in `block (5 levels) in <top (required)>' ``` I have also added `once` to all `should_email` checks within `notification_service_spec.rb` since it's probably the correct behavior to notify users only once on the same event. Nothing else failed out of the box but we can keep these assertions for future. See merge request !1925
Showing
Please register or sign in to comment