Ghost/ghost/core/test/e2e-api/admin
Simon Backx b545dfa0cc
Improved recommendation controller structure (#18208)
fixes https://github.com/TryGhost/Product/issues/3900

1. The service never returns a Recommendation Entity, but always plain
objects (which for now is the same as Recommendation without the
methods).
2. Updated the controller to be more readable and minimal (we keep this
controller, in addition to the existing endpoints and serializers)
- The controller does minimal validation and allows for type checking
(so we get compile time errors in case the service expects new fields)
- The controller uses the `UnsafeData` class to easily validate the
input from requests, and throws appropriate errors (with correct field
descriptions — "Expected a string at recommendations.0.title") without
too much boilerplate code. In addition the interface is typed, so we get
compile errors if there are breaking changes in the service.
- Removed `EntityWithIncludes`, since we now use plain objects, we
inject the relations directly into those plain objects (with some new
types that add type support)
- Added new tests to make sure that edits only affect the given fields,
and never undefined fields
2023-09-18 14:36:49 +00:00
..
__snapshots__ Improved recommendation controller structure (#18208) 2023-09-18 14:36:49 +00:00
actions.test.js Removed Bluebird from tests 2023-06-23 10:03:03 +02:00
activity-feed.test.js Updated to use assert/strict everywhere (#17047) 2023-06-21 09:56:59 +01:00
collections.test.js Removed post delete related event handling 2023-09-15 13:50:25 +08: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 Fixed self-serve api key type 2023-03-28 11:59:17 +02: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 🐛 Fixed post links being marked as edited when they were not (#16153) 2023-01-20 13:31:54 +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 Retain newsletter subscriptions on suppression (#17373) 2023-07-24 10:47:57 +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 Trimmed down Members Admin API response data 2023-09-13 13:18:43 +08:00
mentions.test.js Removed all unused variables from test files 2023-03-10 14:29:55 +01:00
newsletters.test.js Retain newsletter subscriptions on suppression (#17373) 2023-07-24 10:47:57 +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 Prevents errors from being logged during the offers tests 2023-03-03 18:25:53 +00:00
pages-bulk.test.js Updated to use assert/strict everywhere (#17047) 2023-06-21 09:56:59 +01:00
pages-legacy.test.js Moved serialisation of formats into the serialiser-layer 2023-06-16 09:17:47 +02:00
pages.test.js Added conversion to beta editor format when creating content via ?source=html (#18000) 2023-09-06 21:16:40 +00:00
posts-bulk.test.js Handled CollectionPost relations manually (#18081) 2023-09-13 14:16:22 +07:00
posts-legacy.test.js Fixed flaky legacy posts api test (#16871) 2023-05-25 15:40:17 +01:00
posts.test.js Fixed post.deleted event mapping 2023-09-14 14:31:23 +08:00
rate-limiting.test.js Added Content-Version header to all API requests 2023-01-18 08:38:07 +01:00
recommendations.test.js Improved recommendation controller structure (#18208) 2023-09-18 14:36:49 +00: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 one-click-subscribe detection (#17995) 2023-09-06 15:11:14 +00: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 Added visible theme errors in admin (#16081) 2023-01-06 13:44:27 +01:00
tiers.test.js Updated to use assert/strict everywhere (#17047) 2023-06-21 09:56:59 +01:00
users.test.js Removed Bluebird from tests 2023-06-23 10:03:03 +02:00
utils.js Moved posts_meta.hide_title_and_feature_image to posts.show_title_and_feature_image (#17239) 2023-07-07 16:40:22 +01:00
webhooks.test.js Added Content-Version header to all API requests 2023-01-18 08:38:07 +01:00