refs linear.app/tryghost/issue/CORE-74/improve-the-test-situation
- this commit adds the codecov GitHub Action into CI so we can upload
coverage reports
- the coverage files need to be in XML for them to work with
codecov, so this commit also adds cobertura (XML) as a reporter
refs https://github.com/TryGhost/Team/issues/1138
- paid members shouldn't see the offer detail UI as there is no clear path to upgrade for them from offer detail page at the moment
closes https://github.com/TryGhost/Team/issues/1143
The most common pattern for signup pages when monthly and yearly plans are available is to have "yearly" as a default. Portal had default as monthly earlier, and is now changed to yearly
no refs
Link page was originally added for usage in Admin, but has since been replaced by a Link page directly added via Admin and Portal version for it is no more used anywhere.
refs https://github.com/TryGhost/Team/issues/1137
- Adds portal offers preview url handling on App load
- adds new `offerPreview` mode as a subset of preview mode to allow changes to Portal when offer preview is on
- loads offers screen with params from url for preview mode
- hide trigger button on portal offer preview
no refs
- updates fixtures file with fixture functions to easily generate test data
- adds `uuid` as dep to allow for reliably create unique ids for fixtures
closes https://github.com/TryGhost/Team/issues/1142
Portal signup URLs for yearly plans of a tier were broken and resulted in "Failed to signup error", due to incorrect parsing of the yearly query.
- fixes regex for parsing yearly price id for tiers from portal url
- adds unit test to cover parsing of price id from page query
refs https://github.com/TryGhost/Team/issues/1119
refs ba592e891e
Canceling a member on a subscription which is not in list of portal products was throwing an error earlier, this test -
- covers cancel subscription flow for a member on hidden product subscription
- validates fix for above issue by checking confirmation screen correctly shows for cancellation
closes https://github.com/TryGhost/Team/issues/1119
- updates fetching price from all available products and not just those available to show on Portal
- handles missing price/product on Portal UI gracefully
refs https://github.com/TryGhost/Team/issues/1061
- Stripe checkout metadata only accepts value as string for a key, and ghost_analytics was incorrectly attaching object for entry id and source url
refs https://github.com/TryGhost/Ghost/security/advisories/GHSA-65p7-pjj8-ggmr
We were originally overloading the signup/signin flow for changing email
addresses, which was a security flaw because this route is
unauthenticated. This functionality has been removed and replaced with a
dedicated flow.
refs https://github.com/TryGhost/Team/issues/1061
Member activity is a labs alpha feature which aims at capturing member events for site owner if switched on. The event metadata captures the site page/post where the event originates from, and the post/page id is included as content of new ghost analytics meta tag.
This change passes the event metadata to member frontend requests which allows server to capture event information for member actions when the analytics is switched on.
refs https://github.com/TryGhost/Team/issues/1063
refs https://github.com/TryGhost/Team/issues/1062
Member activity is a labs alpha feature which aims at capturing member events for site owner if switched on. The event metadata captures the site page/post where the event originates from, and the post/page id is included as content of new ghost analytics meta tag.
This change sets up new analytics script in portal if analytics is switched on, and fires post/page view event when a valid analytics id is found.
refs https://github.com/TryGhost/Team/issues/1062
Member activity is a labs alpha feature which aims at capturing member events for site owner if switched on. The event metadata captures the site page/post where the event originates from, and the post/page id is included as content of new ghost analytics meta tag.
This change adds a new alpha API endpoint for pushing events to new ingress endpoint, which Portal's new analytics script can use to push events upstream.
closes https://github.com/TryGhost/Team/issues/1038
- FirstPromoter integration needs the referral tracking id information as part of checkout session object to correctly attribute member referrals
- Adds `fp_tid` metadata key for FirstPromoter to correctly attribute paid signups
refs https://github.com/TryGhost/Team/issues/877
Refactors the change plan UI when a site has more than one product, using the Monthly/Yearly switch and the plan selection exactly how it's on the signup screen. To show the current plan, the M/Y switch is selected according to the user's subscription which lets us indicate the current price. To make the stacked prices lightweight, we also show benefits only for the price that is currently selected.