This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/tests/acceptance
Martin Brennan 964da21817
FEATURE: Improve group email settings UI (#13083)
This overhauls the user interface for the group email settings management, aiming to make it a lot easier to test the settings entered and confirm they are correct before proceeding. We do this by forcing the user to test the settings before they can be saved to the database. It also includes some quality of life improvements around setting up IMAP and SMTP for our first supported provider, GMail. This PR does not remove the old group email config, that will come in a subsequent PR. This is related to https://meta.discourse.org/t/imap-support-for-group-inboxes/160588 so read that if you would like more backstory.

### UI

Both site settings of `enable_imap` and `enable_smtp` must be true to test this. You must enable SMTP first to enable IMAP.

You can prefill the SMTP settings with GMail configuration. To proceed with saving these settings you must test them, which is handled by the EmailSettingsValidator.

If there is an issue with the configuration or credentials a meaningful error message should be shown.

IMAP settings must also be validated when IMAP is enabled, before saving.

When saving IMAP, we fetch the mailboxes for that account and populate them. This mailbox must be selected and saved for IMAP to work (the feature acts as though it is disabled until the mailbox is selected and saved):

### Database & Backend

This adds several columns to the Groups table. The purpose of this change is to make it much more explicit that SMTP/IMAP is enabled for a group, rather than relying on settings not being null. Also included is an UPDATE query to backfill these columns. These columns are automatically filled when updating the group.

For GMail, we now filter the mailboxes returned. This is so users cannot use a mailbox like Sent or Trash for syncing, which would generally be disastrous.

There is a new group endpoint for testing email settings. This may be useful in the future for other places in our UI, at which point it can be extracted to a more generic endpoint or module to be included.
2021-05-28 09:28:18 +10:00
..
about-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
account-created-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
admin-badges-show-test.js DEV: Correct typos and spelling mistakes (#12812) 2021-05-21 11:43:47 +10:00
admin-emails-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
admin-install-theme-modal-test.js FIX: Allow CodeCommit-style theme .git url format (#12739) 2021-04-16 12:46:34 -04:00
admin-search-log-term-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
admin-search-logs-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
admin-site-settings-test.js FIX: force refresh staff action logs when transitioning from site settings (#12096) 2021-02-17 00:18:39 +05:30
admin-site-text-test.js UX: Text customization for different languages. (#11729) 2021-01-18 14:53:45 -03:00
admin-suspend-user-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
admin-user-badges-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
admin-user-emails-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
admin-user-index-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
admin-users-list-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
admin-watched-words-test.js FEATURE: Show an error message if regex is invalid (#13164) 2021-05-27 19:42:43 +03:00
auth-complete-test.js UX: login; smaller titles, more consistent spacing, other fixes (#12317) 2021-03-09 17:00:46 -05:00
badges-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
bookmarks-test.js FIX: Isolate modal and global key-binds (#12477) 2021-03-29 13:58:03 +02:00
category-banner-test.js DEV: Support Node 15 with Ember CLI (#12679) 2021-04-14 10:16:39 -04:00
category-chooser-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
category-edit-security-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
category-edit-test.js Add category breadcrumbs to edit category page (#13126) 2021-05-25 13:40:11 -05:00
category-new-test.js Add category breadcrumbs to edit category page (#13126) 2021-05-25 13:40:11 -05:00
click-track-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
composer-actions-test.js UX: Composer actions menu header should display the icon of selected action (#12449) 2021-03-19 17:48:43 +03:00
composer-attachment-test.js FEATURE: always insert images on new lines and add newline after (#12895) 2021-04-30 12:38:28 +04:00
composer-edit-conflict-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
composer-hyperlink-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
composer-onebox-test.js FIX: Cache missing inline oneboxes (#12953) 2021-05-06 19:08:04 +03:00
composer-tags-test.js FIX: Clientside validate min tags for required tag group (#12758) 2021-04-20 10:39:13 +10:00
composer-test.js DEV: Correct typos and spelling mistakes (#12812) 2021-05-21 11:43:47 +10:00
composer-topic-links-test.js FIX: title when YouTube is pasted as the title to composer (#12565) 2021-04-01 10:16:14 +11:00
composer-uncategorized-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
create-account-external-test.js UX: login; smaller titles, more consistent spacing, other fixes (#12317) 2021-03-09 17:00:46 -05:00
create-account-user-fields-test.js DEV: Sync up more Ember CLI features (#11790) 2021-01-21 15:55:39 -05:00
create-invite-modal-test.js FEATURE: New share topic modal (#12804) 2021-04-23 19:18:23 +03:00
custom-html-set-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
custom-html-template-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
dashboard-test.js FEATURE: Add new features section in admin dashboard (#11731) 2021-01-22 10:09:02 -05:00
do-not-disturb-test.js FEATURE: Create notification schedule to automatically set do not disturb time (#11665) 2021-01-20 10:31:52 -06:00
email-notice-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
emoji-picker-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
emoji-test.js DEV: Remove JoyPixels emoji option (#12197) 2021-02-26 07:44:52 -05:00
encoded-category-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
enforce-second-factor-test.js DEV: Sync up more Ember CLI features (#11790) 2021-01-21 15:55:39 -05:00
flag-post-test.js Support for Testem in Ember CLI (#12442) 2021-03-19 09:32:46 -04:00
forgot-password-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
group-index-test.js DEV: Correct typos and spelling mistakes (#12812) 2021-05-21 11:43:47 +10:00
group-manage-categories-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
group-manage-email-settings-test.js FEATURE: Improve group email settings UI (#13083) 2021-05-28 09:28:18 +10:00
group-manage-interaction-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
group-manage-logs-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
group-manage-membership-test.js FEATURE: Improve group settings and members management (#11878) 2021-02-03 16:11:08 +02:00
group-manage-profile-test.js FEATURE: Improve group settings and members management (#11878) 2021-02-03 16:11:08 +02:00
group-manage-tags-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
group-requests-test.js UX: respect "prioritize username in ux" setting wherever possible (#12357) 2021-03-11 21:55:14 +05:30
group-test.js DEV: Don't resetSite() more often than needed (#13138) 2021-05-25 18:38:41 +02:00
groups-index-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
groups-new-test.js FIX: missing default notification level on group creation (#11512) 2020-12-16 15:52:34 -05:00
hamburger-menu-test.js DEV: prettier 2.2.1 (#11862) 2021-01-27 12:39:20 +01:00
hashtags-test.js FIX: Make category slugs lowercase (#11277) 2021-01-12 17:28:33 +02:00
invite-accept-test.js FIX: Make UI match server behavior for external-auth invites (#13113) 2021-05-26 09:47:44 +01:00
invite-show-user-fields-test.js DEV: Sync up more Ember CLI features (#11790) 2021-01-21 15:55:39 -05:00
jump-to-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
keyboard-shortcuts-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
login-redirect-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
login-required-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
login-with-email-and-hide-email-address-taken-test.js UX: add link for email login below username, remove button (#12118) 2021-02-24 16:30:08 -05:00
login-with-email-and-no-social-logins-test.js UX: add link for email login below username, remove button (#12118) 2021-02-24 16:30:08 -05:00
login-with-email-disabled-test.js UX: add link for email login below username, remove button (#12118) 2021-02-24 16:30:08 -05:00
login-with-email-test.js UX: add link for email login below username, remove button (#12118) 2021-02-24 16:30:08 -05:00
mobile-discovery-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
mobile-sign-in-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
mobile-users-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
modal-test.js FIX: Clean up topic-timer-info CSS classes, add edit button, and improve UI (#12080) 2021-02-16 12:07:30 +10:00
new-message-test.js DEV: {{user-selector}} replacement (#11726) 2021-02-01 13:07:11 +03:00
new-topic-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
notifications-filter-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
opengraph-tag-updater-test.js FIX: Safari iOS page title and url regression when sharing (#11699) 2021-01-13 11:10:43 -05:00
page-publishing-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
password-reset-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
personal-message-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
plugin-keyboard-shortcut-test.js FIX: Isolate modal and global key-binds (#12477) 2021-03-29 13:58:03 +02:00
plugin-outlet-connector-class-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
plugin-outlet-decorator-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
plugin-outlet-multi-template-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
plugin-outlet-single-template-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
post-admin-menu-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
preferences-test.js DEV: Support Node 15 with Ember CLI (#12679) 2021-04-14 10:16:39 -04:00
raw-plugin-outlet-test.js DEV: Sync up more Ember CLI features (#11790) 2021-01-21 15:55:39 -05:00
redirect-to-top-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
reports-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
review-test.js FEATURE: Show stale reviewable to other clients (#13114) 2021-05-26 09:47:35 +10:00
search-full-test.js A11Y: associate search controls with their labels (#11806) 2021-01-21 22:24:15 -05:00
search-mobile-test.js FIX: Show all topic statuses on full page search. 2020-12-23 10:30:35 +08:00
search-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
share-topic-test.js FEATURE: New share topic modal (#12804) 2021-04-23 19:18:23 +03:00
shared-drafts-test.js FIX: Make category change work with shared drafts (#11705) 2021-01-14 19:20:34 +02:00
sign-in-test.js DEV: Sync up more Ember CLI features (#11790) 2021-01-21 15:55:39 -05:00
static-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
tag-groups-test.js UX: show error message instead of disabling save button on tag groups page (#12767) 2021-04-20 21:40:02 +05:30
tags-intersection-test.js FEATURE: Always show tag dropdown when tagging is enabled (#12209) 2021-03-10 21:13:15 -05:00
tags-test.js UX: don't display tag notification menu on category page. (#11989) 2021-02-05 09:19:00 +05:30
topic-admin-menu-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
topic-anonymous-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
topic-bulk-actions-test.js DEV: add JS test for topic bulk action modal (#12621) 2021-04-07 06:34:36 +05:30
topic-discovery-test.js FEATURE: Move site updated modal into a less obtrusive prompt (#12577) 2021-04-07 08:56:48 +10:00
topic-edit-timer-test.js DEV: Don't resetSite() more often than needed (#13138) 2021-05-25 18:38:41 +02:00
topic-footer-buttons-mobile-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
topic-list-tracker-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
topic-move-posts-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
topic-notifications-button-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
topic-quote-button-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
topic-slow-mode-test.js UX: show Update button instead of Enable button when slow mode is already enabled (#13077) 2021-05-25 13:33:39 +04:00
topic-test.js DEV: Move incorrectly placed topic tests (#12513) 2021-03-25 15:04:51 +01:00
unknown-test.js FIX: handle permalinks with query parameters (#12700) 2021-04-14 20:03:25 +02:00
user-anonymous-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
user-bookmarks-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
user-card-test.js DEV: Sync up more Ember CLI features (#11790) 2021-01-21 15:55:39 -05:00
user-drafts-stream-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
user-preferences-interface-test.js FIX: light color scheme picker should default to user selection (#12913) 2021-04-30 11:31:01 -04:00
user-preferences-notifications-test.js FEATURE: Create notification schedule to automatically set do not disturb time (#11665) 2021-01-20 10:31:52 -06:00
user-test.js DEV: Sync up more Ember CLI features (#11790) 2021-01-21 15:55:39 -05:00
users-test.js DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00