Ghost/ghost/core/test/integration/services/email-service
Sag 5477d70a0c
Revert "Added referral tracking to the powered-by-ghost newsletter badge" (#19899)
refs https://ghost.slack.com/archives/CTH5NDJMS/p1710976281912809

- this reverts commit 9869d9adb6
- the referral query parameter is unintentionally surfacing in publisher
analytics
2024-03-21 10:02:17 +01:00
..
__snapshots__ Revert "Added referral tracking to the powered-by-ghost newsletter badge" (#19899) 2024-03-21 10:02:17 +01:00
batch-sending.test.js Remove comment icon at the top of email template (#19771) 2024-02-29 14:45:38 +01:00
cards.test.js Added an email rendering test for all Koenig cards (#19059) 2023-12-12 16:05:04 -08:00
email-event-storage.test.js Removed usage of unquoted ids in filter strings (#19070) 2023-11-21 09:45:36 +01:00
README.md Added an email rendering test for all Koenig cards (#19059) 2023-12-12 16:05:04 -08:00

What is a golden post?

The golden post is a single lexical post that has at least one example of every card that is available in the Koenig editor (with a few exceptions for cards that should never make it into an email). We have run into problems in the past where a small change to a particular card or to the EmailRenderer itself results in seriously mangled email rendering in one or more clients (usually Outlook).

How do I update the golden post to include a new card?

If you're seeing a failing test like The golden post does not contain the ${card} card, that means that you (or someone else) has added a new node to @tryghost/kg-default-nodes that is not currently represented in the golden post. This test is here to trigger a review of the rendered email of the new card, to make sure it doesn't break the formatting in email clients. To update this test properly, please do the following:

  1. Create a card in the lexical editor, either at koenig.ghost.org or in your local Koenig repo
  2. Use the JSON Output in the bottom right of the demo to copy the lexical payload for the new card
  3. Paste the lexical payload for the card as a top level child of the root node in the golden post fixture at ghost/core/test/utils/fixtures/email-service/golden-post.json
  4. Re-run your tests with UPDATE_SNAPSHOT=1 set to update the snapshot to include the new card
  5. Update (or recreate) the Golden Post on main.ghost.org using the golden-post.json string.
  6. Send a test email to Litmus and examine the rendered output to ensure everything looks right on different clients.