From 6a5361d853eccda55eadb56ec249236cd4ab164e Mon Sep 17 00:00:00 2001 From: Tushar Nain <100490977+tusharnain4578@users.noreply.github.com> Date: Sat, 16 Sep 2023 14:00:08 +0530 Subject: [PATCH 1/3] Fixed : Comment notification settings are visible even if comments are disabled Added a UX condition to display comment notification settings, only if the user has enabled the comment notifications. --- .../users/preferences/notifications.blade.php | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/resources/views/users/preferences/notifications.blade.php b/resources/views/users/preferences/notifications.blade.php index ae89c087e..9817aac4d 100644 --- a/resources/views/users/preferences/notifications.blade.php +++ b/resources/views/users/preferences/notifications.blade.php @@ -20,20 +20,22 @@ 'label' => trans('preferences.notifications_opt_own_page_changes'), ]) -
- @include('form.toggle-switch', [ - 'name' => 'preferences[own-page-comments]', - 'value' => $preferences->notifyOnOwnPageComments(), - 'label' => trans('preferences.notifications_opt_own_page_comments'), - ]) -
-
- @include('form.toggle-switch', [ - 'name' => 'preferences[comment-replies]', - 'value' => $preferences->notifyOnCommentReplies(), - 'label' => trans('preferences.notifications_opt_comment_replies'), - ]) -
+ @if (!setting('app-disable-comments')) +
+ @include('form.toggle-switch', [ + 'name' => 'preferences[own-page-comments]', + 'value' => $preferences->notifyOnOwnPageComments(), + 'label' => trans('preferences.notifications_opt_own_page_comments'), + ]) +
+
+ @include('form.toggle-switch', [ + 'name' => 'preferences[comment-replies]', + 'value' => $preferences->notifyOnCommentReplies(), + 'label' => trans('preferences.notifications_opt_comment_replies'), + ]) +
+ @endif
From baa957d98049380ff2278f222600852f70b79712 Mon Sep 17 00:00:00 2001 From: Tushar Nain <100490977+tusharnain4578@users.noreply.github.com> Date: Sun, 17 Sep 2023 23:31:01 +0530 Subject: [PATCH 2/3] Update UserPreferencesTest.php Added Testcases for preferences menu of Comment Notifications visibility when comments are enabled/disabled. --- tests/User/UserPreferencesTest.php | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/User/UserPreferencesTest.php b/tests/User/UserPreferencesTest.php index f5dae3e76..30e7bb540 100644 --- a/tests/User/UserPreferencesTest.php +++ b/tests/User/UserPreferencesTest.php @@ -318,4 +318,35 @@ class UserPreferencesTest extends TestCase $resp = $this->get($page->getUrl('/edit')); $resp->assertSee('option:code-editor:favourites="javascript,ruby"', false); } + + public function test_comment_notifications_hidden_when_comments_disabled() + { + $editor = $this->users->editor(); + + + setting()->putUser($editor, 'app-disable-comments', true); + + $settingLabel1 = trans('preferences.notifications_opt_own_page_comments'); + $settingLabel2 = trans('preferences.notifications_opt_comment_replies'); + + $resp = $this->actingAs($editor)->get('/preferences/notifications'); + + $resp->assertDontSee($settingLabel1, true); + $resp->assertDontSee($settingLabel2, true); + } + + public function test_comment_notifications_visible_when_comments_enabled() + { + $editor = $this->users->editor(); + + setting()->putUser($editor, 'app-disable-comments', false); + + $settingLabel1 = trans('preferences.notifications_opt_own_page_comments'); + $settingLabel2 = trans('preferences.notifications_opt_comment_replies'); + + $resp = $this->actingAs($editor)->get('/preferences/notifications'); + + $resp->assertSee($settingLabel1, true); + $resp->assertSee($settingLabel2, true); + } } From c42cd29ed3e2fe1eca4c89e679197b76db699e03 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Sun, 17 Sep 2023 22:26:51 +0100 Subject: [PATCH 3/3] Notifications: Updated comment notif. prefs. test Combined testcases, updated to use actual text strings, and set comments setting via correct method. Made during review of #4552 --- tests/User/UserPreferencesTest.php | 44 +++++++++--------------------- 1 file changed, 13 insertions(+), 31 deletions(-) diff --git a/tests/User/UserPreferencesTest.php b/tests/User/UserPreferencesTest.php index 30e7bb540..4a6cba7b3 100644 --- a/tests/User/UserPreferencesTest.php +++ b/tests/User/UserPreferencesTest.php @@ -156,6 +156,19 @@ class UserPreferencesTest extends TestCase $this->assertPermissionError($resp); } + public function test_notification_comment_options_only_exist_if_comments_active() + { + $resp = $this->asEditor()->get('/preferences/notifications'); + $resp->assertSee('Notify upon comments'); + $resp->assertSee('Notify upon replies'); + + setting()->put('app-disable-comments', true); + + $resp = $this->get('/preferences/notifications'); + $resp->assertDontSee('Notify upon comments'); + $resp->assertDontSee('Notify upon replies'); + } + public function test_update_sort_preference() { $editor = $this->users->editor(); @@ -318,35 +331,4 @@ class UserPreferencesTest extends TestCase $resp = $this->get($page->getUrl('/edit')); $resp->assertSee('option:code-editor:favourites="javascript,ruby"', false); } - - public function test_comment_notifications_hidden_when_comments_disabled() - { - $editor = $this->users->editor(); - - - setting()->putUser($editor, 'app-disable-comments', true); - - $settingLabel1 = trans('preferences.notifications_opt_own_page_comments'); - $settingLabel2 = trans('preferences.notifications_opt_comment_replies'); - - $resp = $this->actingAs($editor)->get('/preferences/notifications'); - - $resp->assertDontSee($settingLabel1, true); - $resp->assertDontSee($settingLabel2, true); - } - - public function test_comment_notifications_visible_when_comments_enabled() - { - $editor = $this->users->editor(); - - setting()->putUser($editor, 'app-disable-comments', false); - - $settingLabel1 = trans('preferences.notifications_opt_own_page_comments'); - $settingLabel2 = trans('preferences.notifications_opt_comment_replies'); - - $resp = $this->actingAs($editor)->get('/preferences/notifications'); - - $resp->assertSee($settingLabel1, true); - $resp->assertSee($settingLabel2, true); - } }