diff options
author | Felipe Artur <felipefac@gmail.com> | 2018-07-10 11:29:27 -0300 |
---|---|---|
committer | Felipe Artur <felipefac@gmail.com> | 2018-07-12 12:03:29 -0300 |
commit | ef129737235832908e81f58da9133bbd8e9e7963 (patch) | |
tree | c609dda7572bad0c94eb8808f8324d036319b695 | |
parent | d01e5a04ccee4659fdab8f381a12201daa1c8cb5 (diff) | |
download | gitlab-ce-ef129737235832908e81f58da9133bbd8e9e7963.tar.gz |
Allow to toggle notifications for issues due soon
-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 |