diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2018-07-12 15:39:44 +0000 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2018-07-12 15:39:44 +0000 |
commit | 4e744e18a1a6baffa54d92426c14b09461ed022d (patch) | |
tree | 6bd0b8c7554ab1eae439283f97b4066c11994f9c | |
parent | 5c7e2987ae4042d2e4b869456e3620b9caea381d (diff) | |
parent | ef129737235832908e81f58da9133bbd8e9e7963 (diff) | |
download | gitlab-ce-4e744e18a1a6baffa54d92426c14b09461ed022d.tar.gz |
Merge branch 'issue_47709' into 'master'
Allow to toggle notifications for issues due soon
Closes #47709
See merge request gitlab-org/gitlab-ce!20530
-rw-r--r-- | app/models/notification_setting.rb | 1 | ||||
-rw-r--r-- | changelogs/unreleased/issue_47709.yml | 5 | ||||
-rw-r--r-- | spec/features/projects/show/user_manages_notifications_spec.rb | 32 | ||||
-rw-r--r-- | spec/models/notification_setting_spec.rb | 6 |
4 files changed, 44 insertions, 0 deletions
diff --git a/app/models/notification_setting.rb b/app/models/notification_setting.rb index 9195408551f..1933c46ee44 100644 --- a/app/models/notification_setting.rb +++ b/app/models/notification_setting.rb @@ -32,6 +32,7 @@ class NotificationSetting < ActiveRecord::Base :reopen_issue, :close_issue, :reassign_issue, + :issue_due, :new_merge_request, :push_to_merge_request, :reopen_merge_request, diff --git a/changelogs/unreleased/issue_47709.yml b/changelogs/unreleased/issue_47709.yml new file mode 100644 index 00000000000..c3ef55fd692 --- /dev/null +++ b/changelogs/unreleased/issue_47709.yml @@ -0,0 +1,5 @@ +--- +title: 'Allow to toggle notifications for issues due soon' +merge_request: +author: +type: fixed diff --git a/spec/features/projects/show/user_manages_notifications_spec.rb b/spec/features/projects/show/user_manages_notifications_spec.rb index 31b105229be..546619e88ec 100644 --- a/spec/features/projects/show/user_manages_notifications_spec.rb +++ b/spec/features/projects/show/user_manages_notifications_spec.rb @@ -16,4 +16,36 @@ describe 'Projects > Show > User manages notifications', :js do expect(page).to have_content 'On mention' end end + + context 'custom notification settings' do + let(:email_events) do + [ + :new_note, + :new_issue, + :reopen_issue, + :close_issue, + :reassign_issue, + :issue_due, + :new_merge_request, + :push_to_merge_request, + :reopen_merge_request, + :close_merge_request, + :reassign_merge_request, + :merge_merge_request, + :failed_pipeline, + :success_pipeline + ] + end + + it 'shows notification settings checkbox' do + first('.notifications-btn').click + page.find('a[data-notification-level="custom"]').click + + page.within('.custom-notifications-form') do + email_events.each do |event_name| + expect(page).to have_selector("input[name='notification_setting[#{event_name}]']") + end + end + end + end end diff --git a/spec/models/notification_setting_spec.rb b/spec/models/notification_setting_spec.rb index d7c5f26ab67..77c475b9f52 100644 --- a/spec/models/notification_setting_spec.rb +++ b/spec/models/notification_setting_spec.rb @@ -93,4 +93,10 @@ RSpec.describe NotificationSetting do end end end + + context 'email events' do + it 'includes EXCLUDED_WATCHER_EVENTS in EMAIL_EVENTS' do + expect(described_class::EMAIL_EVENTS).to include(*described_class::EXCLUDED_WATCHER_EVENTS) + end + end end |