Ghost/ghost/core/test/e2e-api/admin
Simon Backx 17ec1e8937
Added email address alignment protections (#19094)
ref GRO-54
fixes GRO-63
fixes GRO-62
fixes GRO-69

When the config `hostSettings:managedEmail:enabled` is enabled, or the
new flag (`newEmailAddresses`) is enabled for self-hosters, we'll start
to check the from addresses of all outgoing emails more strictly.

- Current flow: nothing changes if the managedEmail config is not set or
the `newEmailAddresses` feature flag is not set
- When managedEmail is enabled: never allow to send an email from any
chosen email. We always use `mail.from` for all outgoing emails. Custom
addresses should be set as replyTo instead. Changing the newsletter
sender_email is not allowed anymore (and ignored if it is set).
- When managedEmail is enabled with a custom sending domain: if a from
address doesn't match the sending domain, we'll default to mail.from and
use the original as a replyTo if appropriate and only when no other
replyTo was set. A newsletter sender email addresss can only be set to
an email address on this domain.
- When `newEmailAddresses` is enabled: self hosters are free to set all
email addresses to whatever they want, without verification. In addition
to that, we stop making up our own email addresses and send from
`mail.from` by default instead of generating a `noreply`+ `@` +
`sitedomain.com` address

A more in depth example of all cases can be seen in
`ghost/core/test/integration/services/email-addresses.test.js`

Includes lots of new E2E tests for most new situations. Apart from that,
all email snapshots are changed because the from and replyTo addresses
are now included in snapshots (so we can see unexpected changes in the
future).

Dropped test coverage requirement, because tests were failing coverage
locally, but not in CI

Fixed settings test that set the site title to an array - bug tracked in
GRO-68
2023-11-23 10:25:30 +01:00
..
__snapshots__ Added email address alignment protections (#19094) 2023-11-23 10:25:30 +01:00
actions.test.js Removed usage of unquoted ids in filter strings (#19070) 2023-11-21 09:45:36 +01:00
activity-feed.test.js Removed usage of unquoted ids in filter strings (#19070) 2023-11-21 09:45:36 +01:00
collections.test.js Removed post_revisions default include 2023-10-12 13:10:05 +02:00
config.test.js 💡 Upgraded Tenor API to v2 (#15087) 2022-08-05 12:13:27 +01:00
custom-theme-settings.test.js Prevent simple error logs by stubbing log library 2023-03-03 18:25:53 +00:00
db.test.js Removed all unused variables from test files 2023-03-10 14:29:55 +01:00
email-preview-rate-limiter.test.js Added test email rate limiting (#17505) 2023-07-27 08:46:50 +02:00
email-previews.test.js Updated to use assert/strict everywhere (#17047) 2023-06-21 09:56:59 +01:00
emails.test.js Updated to use assert/strict everywhere (#17047) 2023-06-21 09:56:59 +01:00
explore.test.js Added Content-Version header to all API requests 2023-01-18 08:38:07 +01:00
files.test.js Removed all unused variables from test files 2023-03-10 14:29:55 +01:00
images.test.js Updated to use assert/strict everywhere (#17047) 2023-06-21 09:56:59 +01:00
integrations.test.js Removed usage of unquoted ids in filter strings (#19070) 2023-11-21 09:45:36 +01:00
invites.test.js Supported inviting users using an Admin API Integration 2023-05-08 15:27:15 -04:00
key-authentication.test.js Prevent simple error logs by stubbing log library 2023-03-03 18:25:53 +00:00
labels.test.js Prevent simple error logs by stubbing log library 2023-03-03 18:25:53 +00:00
links.test.js Removed usage of unquoted ids in filter strings (#19070) 2023-11-21 09:45:36 +01:00
mail-events.test.js Add endpoint to record mail events (#16990) 2023-06-23 12:22:01 +01:00
media.test.js Removed all unused variables from test files 2023-03-10 14:29:55 +01:00
members-edit-subscriptions.test.js 🐛 Fixed handling multiple Stripe subscriptions for same member (#17773) 2023-08-22 13:27:21 +02:00
members-exporter.test.js Removed usage of unquoted ids in filter strings (#19070) 2023-11-21 09:45:36 +01:00
members-importer.test.js Removed all unused variables from test files 2023-03-10 14:29:55 +01:00
members-newsletters.test.js Removed all unused variables from test files 2023-03-10 14:29:55 +01:00
members-stripe-connect.test.js Added Content-Version header to all API requests 2023-01-18 08:38:07 +01:00
members.test.js Added email address alignment protections (#19094) 2023-11-23 10:25:30 +01:00
mentions.test.js Removed required webmentions flag for mentions admin endpoint 2023-09-19 17:31:55 +02:00
newsletters.test.js Added email address alignment protections (#19094) 2023-11-23 10:25:30 +01:00
notifications.test.js Removed all unused variables from test files 2023-03-10 14:29:55 +01:00
oembed.test.js 🐛 Improved error message for unauthorized YouTube embeds (#16374) 2023-05-04 16:04:58 -07:00
offers.test.js Added createdAt prop to Offers API request. (#19012) 2023-11-16 17:33:01 +07:00
pages-bulk.test.js Updated to use assert/strict everywhere (#17047) 2023-06-21 09:56:59 +01:00
pages-legacy.test.js Cleaned up lexicalEditor labs flag, switched Post model to lexical-by-default (#18607) 2023-10-23 17:51:34 +01:00
pages.test.js Cleaned up lexicalEditor labs flag, switched Post model to lexical-by-default (#18607) 2023-10-23 17:51:34 +01:00
posts-bulk.test.js Fixed collection cards not re-rendering when posts were bulk-edited 2023-09-28 18:05:01 +01:00
posts-legacy.test.js Cleaned up lexicalEditor labs flag, switched Post model to lexical-by-default (#18607) 2023-10-23 17:51:34 +01:00
posts.test.js Cleaned up lexicalEditor labs flag, switched Post model to lexical-by-default (#18607) 2023-10-23 17:51:34 +01:00
rate-limiting.test.js Added Content-Version header to all API requests 2023-01-18 08:38:07 +01:00
recommendations.test.js 🐛 Fixed adding recommendation with URL redirect breaking one-click-subscribe (#18863) 2023-11-03 15:02:45 +01:00
redirects.test.js Improved performance of prepareContentFolder function 2022-08-01 08:58:13 +02:00
roles.test.js Added migrations for Self-Serve Migration Integration and API key 2023-03-24 11:28:29 +01:00
session.test.js Added Content-Version header to all API requests 2023-01-18 08:38:07 +01:00
settings-files.test.js Removed all unused variables from test files 2023-03-10 14:29:55 +01:00
settings.test.js Added email address alignment protections (#19094) 2023-11-23 10:25:30 +01:00
site.test.js Added Content-Version header to all API requests 2023-01-18 08:38:07 +01:00
slugs.test.js Converted Ghost repo into a monorepo 2022-07-20 16:41:05 +02:00
snippets.test.js Added support for filtering snippets to mobiledoc/lexical (#16636) 2023-04-17 10:54:08 +04:00
stats.test.js Updated to use assert/strict everywhere (#17047) 2023-06-21 09:56:59 +01:00
tags.test.js Removed bluebird catch predicates from API endpoints 2022-08-24 11:27:09 +01:00
themes.test.js Updated theme fixtures for casper and source (#18677) 2023-10-18 14:51:35 -07:00
tiers.test.js 🐛 Fixed bug preventing changes to tier benefit capitalization (#18406) 2023-10-05 19:04:11 -07:00
users.test.js Refined cache invalidation when updating a user (#19028) 2023-11-20 14:14:30 +00:00
utils.js Cleaned up lexicalEditor labs flag, switched Post model to lexical-by-default (#18607) 2023-10-23 17:51:34 +01:00
webhooks.test.js Added Content-Version header to all API requests 2023-01-18 08:38:07 +01:00