diff --git a/dotcom-rendering/fixtures/config.js b/dotcom-rendering/fixtures/config.js index 8ee0d539cf7..a5dd4b7b174 100644 --- a/dotcom-rendering/fixtures/config.js +++ b/dotcom-rendering/fixtures/config.js @@ -155,7 +155,6 @@ module.exports = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/cricket-match.ts b/dotcom-rendering/fixtures/generated/cricket-match.ts index 8a01a1c67e4..9fad68405be 100644 --- a/dotcom-rendering/fixtures/generated/cricket-match.ts +++ b/dotcom-rendering/fixtures/generated/cricket-match.ts @@ -1884,7 +1884,6 @@ export const cricketMatchData: FECricketMatchPage = { shouldLoadGoogletag: true, inizio: true, }, - abTests: {}, serverSideABTests: {}, googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', stage: 'PROD', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/AffiliateProductShowcase.ts b/dotcom-rendering/fixtures/generated/fe-articles/AffiliateProductShowcase.ts index d71ce080fa1..041a9eede5f 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/AffiliateProductShowcase.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/AffiliateProductShowcase.ts @@ -4080,7 +4080,6 @@ export const AffiliateProductShowcase: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/AffiliateProductStandard.ts b/dotcom-rendering/fixtures/generated/fe-articles/AffiliateProductStandard.ts index ef430dbd8a9..551f8ed42df 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/AffiliateProductStandard.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/AffiliateProductStandard.ts @@ -2723,7 +2723,6 @@ export const AffiliateProductStandard: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Analysis.ts b/dotcom-rendering/fixtures/generated/fe-articles/Analysis.ts index 3fb62da022b..52b3f8b3b18 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Analysis.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Analysis.ts @@ -815,7 +815,6 @@ export const Analysis: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Audio.ts b/dotcom-rendering/fixtures/generated/fe-articles/Audio.ts index 466858bc773..44c9b170cd8 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Audio.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Audio.ts @@ -456,7 +456,6 @@ export const Audio: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Comment.ts b/dotcom-rendering/fixtures/generated/fe-articles/Comment.ts index aef685a4171..ebe2a4af3b6 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Comment.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Comment.ts @@ -783,7 +783,6 @@ export const Comment: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Dead.ts b/dotcom-rendering/fixtures/generated/fe-articles/Dead.ts index 6efb77ee3da..4be46376d28 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Dead.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Dead.ts @@ -3192,7 +3192,6 @@ export const Dead: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Editorial.ts b/dotcom-rendering/fixtures/generated/fe-articles/Editorial.ts index cb9cc02f75c..1d33ed4b124 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Editorial.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Editorial.ts @@ -763,7 +763,6 @@ export const Editorial: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Explainer.ts b/dotcom-rendering/fixtures/generated/fe-articles/Explainer.ts index 868998e9b7c..da2da9e1075 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Explainer.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Explainer.ts @@ -1540,7 +1540,6 @@ export const Explainer: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Feature.ts b/dotcom-rendering/fixtures/generated/fe-articles/Feature.ts index 992f19b070d..93856ef3154 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Feature.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Feature.ts @@ -1267,7 +1267,6 @@ export const Feature: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Gallery.ts b/dotcom-rendering/fixtures/generated/fe-articles/Gallery.ts index 578e6faf7c2..4416e89d9c5 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Gallery.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Gallery.ts @@ -6806,7 +6806,6 @@ export const Gallery: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/GalleryLabs.ts b/dotcom-rendering/fixtures/generated/fe-articles/GalleryLabs.ts index cabd3c9e8ae..5c4baec4407 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/GalleryLabs.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/GalleryLabs.ts @@ -4405,7 +4405,6 @@ export const GalleryLabs: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Interview.ts b/dotcom-rendering/fixtures/generated/fe-articles/Interview.ts index 59fcc7b0d58..709d7549df6 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Interview.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Interview.ts @@ -2382,7 +2382,6 @@ export const Interview: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Labs.ts b/dotcom-rendering/fixtures/generated/fe-articles/Labs.ts index 19d2619ada4..1abe70eaba5 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Labs.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Labs.ts @@ -1761,7 +1761,6 @@ export const Labs: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Letter.ts b/dotcom-rendering/fixtures/generated/fe-articles/Letter.ts index ef06d0d208b..f76ea6dfd36 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Letter.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Letter.ts @@ -659,7 +659,6 @@ export const Letter: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Live.ts b/dotcom-rendering/fixtures/generated/fe-articles/Live.ts index 5a2b7fe8d81..a1d248b03f7 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Live.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Live.ts @@ -3192,7 +3192,6 @@ export const Live: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/LiveBlogSingleContributor.ts b/dotcom-rendering/fixtures/generated/fe-articles/LiveBlogSingleContributor.ts index 645dbdfc519..73a54db8c66 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/LiveBlogSingleContributor.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/LiveBlogSingleContributor.ts @@ -4389,7 +4389,6 @@ export const LiveBlogSingleContributor: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/MatchReport.ts b/dotcom-rendering/fixtures/generated/fe-articles/MatchReport.ts index 35aadabedaf..063b5ad3759 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/MatchReport.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/MatchReport.ts @@ -747,7 +747,6 @@ export const MatchReport: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/NewsletterSignup.ts b/dotcom-rendering/fixtures/generated/fe-articles/NewsletterSignup.ts index 15c17a787ef..f4e95dfe86d 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/NewsletterSignup.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/NewsletterSignup.ts @@ -702,7 +702,6 @@ export const NewsletterSignup: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/NumberedList.ts b/dotcom-rendering/fixtures/generated/fe-articles/NumberedList.ts index f92c4c83e06..8d676f30b8e 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/NumberedList.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/NumberedList.ts @@ -5917,7 +5917,6 @@ export const NumberedList: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/PhotoEssay.ts b/dotcom-rendering/fixtures/generated/fe-articles/PhotoEssay.ts index e25111f9156..d47cae8364a 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/PhotoEssay.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/PhotoEssay.ts @@ -7780,7 +7780,6 @@ export const PhotoEssay: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Picture.ts b/dotcom-rendering/fixtures/generated/fe-articles/Picture.ts index 593d47dcbfc..7c51ebca787 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Picture.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Picture.ts @@ -663,7 +663,6 @@ export const Picture: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Quiz.ts b/dotcom-rendering/fixtures/generated/fe-articles/Quiz.ts index 0f137d83545..3fbbba21e10 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Quiz.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Quiz.ts @@ -1263,7 +1263,6 @@ export const Quiz: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Recipe.ts b/dotcom-rendering/fixtures/generated/fe-articles/Recipe.ts index 70e2128cea9..085fad78934 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Recipe.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Recipe.ts @@ -862,7 +862,6 @@ export const Recipe: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Review.ts b/dotcom-rendering/fixtures/generated/fe-articles/Review.ts index 11aa501a928..6c644add14a 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Review.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Review.ts @@ -1092,7 +1092,6 @@ export const Review: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/SpecialReport.ts b/dotcom-rendering/fixtures/generated/fe-articles/SpecialReport.ts index 8f49d377d33..d60ae77269c 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/SpecialReport.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/SpecialReport.ts @@ -862,7 +862,6 @@ export const SpecialReport: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Standard.ts b/dotcom-rendering/fixtures/generated/fe-articles/Standard.ts index e399a8df4d3..8bc3c2b9a94 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Standard.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Standard.ts @@ -833,7 +833,6 @@ export const Standard: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/StandardWithVideo.ts b/dotcom-rendering/fixtures/generated/fe-articles/StandardWithVideo.ts index 1f7da86a84a..6694d6611cc 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/StandardWithVideo.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/StandardWithVideo.ts @@ -833,7 +833,6 @@ export const StandardWithVideo: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/fe-articles/Video.ts b/dotcom-rendering/fixtures/generated/fe-articles/Video.ts index fc45b21463d..7ede28f0f9b 100644 --- a/dotcom-rendering/fixtures/generated/fe-articles/Video.ts +++ b/dotcom-rendering/fixtures/generated/fe-articles/Video.ts @@ -401,7 +401,6 @@ export const Video: FEArticle = { pageId: 'environment/2020/feb/10/fires-floods-maps-europe-climate-catastrophe', googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', mmaUrl: 'https://manage.theguardian.com', - abTests: {}, serverSideABTests: {}, edition: 'UK', ipsosTag: 'environment', diff --git a/dotcom-rendering/fixtures/generated/football-live.ts b/dotcom-rendering/fixtures/generated/football-live.ts index 349c3f51162..96b5fc8bba6 100644 --- a/dotcom-rendering/fixtures/generated/football-live.ts +++ b/dotcom-rendering/fixtures/generated/football-live.ts @@ -1048,9 +1048,6 @@ export const footballData: FEFootballMatchListPage = { europeBetaFront: true, prebidBidCache: true, }, - abTests: { - europeBetaFrontTest2Variant: 'variant', - }, serverSideABTests: {}, googletagUrl: '//securepubads.g.doubleclick.net/tag/js/gpt.js', stage: 'PROD', diff --git a/dotcom-rendering/fixtures/manual/hostedArticle.ts b/dotcom-rendering/fixtures/manual/hostedArticle.ts index 0373d0b6000..795070bd7cf 100644 --- a/dotcom-rendering/fixtures/manual/hostedArticle.ts +++ b/dotcom-rendering/fixtures/manual/hostedArticle.ts @@ -1516,7 +1516,6 @@ export const hostedArticle: FEArticle = { shouldLoadGoogletag: true, inizio: true, }, - abTests: {}, serverSideABTests: { 'thefilter-at-a-glance-redesign-v2': 'stacked-default', }, diff --git a/dotcom-rendering/fixtures/manual/hostedGallery.ts b/dotcom-rendering/fixtures/manual/hostedGallery.ts index 103ec0235e4..188f9472958 100644 --- a/dotcom-rendering/fixtures/manual/hostedGallery.ts +++ b/dotcom-rendering/fixtures/manual/hostedGallery.ts @@ -2932,7 +2932,6 @@ export const hostedGallery: FEArticle = { shouldLoadGoogletag: true, inizio: true, }, - abTests: {}, serverSideABTests: { 'commercial-hosted-gallery': 'preview', }, diff --git a/dotcom-rendering/fixtures/manual/hostedVideo.ts b/dotcom-rendering/fixtures/manual/hostedVideo.ts index b7f9911637a..4c61eb6e395 100644 --- a/dotcom-rendering/fixtures/manual/hostedVideo.ts +++ b/dotcom-rendering/fixtures/manual/hostedVideo.ts @@ -326,7 +326,6 @@ export const hostedVideo: FEArticle = { shouldLoadGoogletag: true, inizio: true, }, - abTests: {}, serverSideABTests: { 'thefilter-at-a-glance-redesign-v2': 'stacked-default', }, diff --git a/dotcom-rendering/scripts/jest/setup.ts b/dotcom-rendering/scripts/jest/setup.ts index d10ca1c16db..ecac42260c7 100644 --- a/dotcom-rendering/scripts/jest/setup.ts +++ b/dotcom-rendering/scripts/jest/setup.ts @@ -17,7 +17,6 @@ const windowGuardianConfig = { browserId: 'jest-browser-id', pageViewId: 'jest-page-view-id', }, - tests: {}, switches: {}, } as Guardian['config']; diff --git a/dotcom-rendering/src/client/adaptiveSite.ts b/dotcom-rendering/src/client/adaptiveSite.ts index 6f86e9657a5..307fb52a07d 100644 --- a/dotcom-rendering/src/client/adaptiveSite.ts +++ b/dotcom-rendering/src/client/adaptiveSite.ts @@ -16,19 +16,6 @@ export const shouldAdapt = async (): Promise => { if (!window.guardian.config.switches.adaptiveSite) return false; if (window.location.host !== 'www.theguardian.com') return false; - /** - * The europe beta front is being served to a 0% audience. This means it's rarely in cache and so it gets adapted more often. - * This is a temporary measure to ensure that the front is not adapted during testing. - */ - if ( - (window.guardian.config.tests.europeBetaFrontVariant === 'variant' || - window.guardian.config.tests.europeBetaFrontTest2Variant === - 'variant') && - window.location.pathname === '/europe' - ) { - return false; - } - // only evaluate this code if we want to adapt in response to page performance const { isPerformingPoorly } = await import( /* webpackMode: "eager" */ './poorPerformanceMonitoring' diff --git a/dotcom-rendering/src/client/sentryLoader/sentry.ts b/dotcom-rendering/src/client/sentryLoader/sentry.ts index 6a984e04801..ed8122b14b9 100644 --- a/dotcom-rendering/src/client/sentryLoader/sentry.ts +++ b/dotcom-rendering/src/client/sentryLoader/sentry.ts @@ -48,10 +48,7 @@ Sentry.init({ // sampleRate: // We use Math.random in init.ts to sample errors }); -if ( - BUILD_VARIANT && - window.guardian.config.tests[dcrJavascriptBundle('Variant')] === 'variant' -) { +if (BUILD_VARIANT) { Sentry.setTag('dcr.bundle', dcrJavascriptBundle('Variant')); } diff --git a/dotcom-rendering/src/client/sentryLoader/sentryLoader.ts b/dotcom-rendering/src/client/sentryLoader/sentryLoader.ts index 23f7b48af9b..43b2845d65e 100644 --- a/dotcom-rendering/src/client/sentryLoader/sentryLoader.ts +++ b/dotcom-rendering/src/client/sentryLoader/sentryLoader.ts @@ -1,4 +1,4 @@ -import { BUILD_VARIANT, dcrJavascriptBundle } from '../../../webpack/bundles'; +import { BUILD_VARIANT } from '../../../webpack/bundles'; import { loadSentryOnError } from './loadSentry'; type IsSentryEnabled = { @@ -46,10 +46,9 @@ const stubSentry = (): void => { }; export const sentryLoader = (): Promise => { - const { switches, isDev, tests } = window.guardian.config; + const { switches, isDev } = window.guardian.config; const enableSentryReporting = !!switches.enableSentryReporting; - const isInBrowserVariantTest = - BUILD_VARIANT && tests[dcrJavascriptBundle('Variant')] === 'variant'; + const isInBrowserVariantTest = BUILD_VARIANT; const canLoadSentry = isSentryEnabled({ enableSentryReporting, diff --git a/dotcom-rendering/src/client/userFeatures/user-features.test.ts b/dotcom-rendering/src/client/userFeatures/user-features.test.ts index 140cb78e020..1ec49697c82 100644 --- a/dotcom-rendering/src/client/userFeatures/user-features.test.ts +++ b/dotcom-rendering/src/client/userFeatures/user-features.test.ts @@ -67,7 +67,6 @@ const setAllBenefitsData = (opts: { isExpired: boolean }) => { beforeAll(() => { window.guardian.config.page.userBenefitsApiUrl = 'fake-url'; - window.guardian.config.tests['useUserBenefitsApiVariant'] = 'variant'; }); const expectUserBenefitExpiryCookieHasBeenSetCorrectly = () => { diff --git a/dotcom-rendering/src/components/AllEditorialNewslettersPage.tsx b/dotcom-rendering/src/components/AllEditorialNewslettersPage.tsx index 63308602440..be31944a620 100644 --- a/dotcom-rendering/src/components/AllEditorialNewslettersPage.tsx +++ b/dotcom-rendering/src/components/AllEditorialNewslettersPage.tsx @@ -59,7 +59,6 @@ export const AllEditorialNewslettersPage = ({ commercialMetricsEnabled={ !!newslettersPage.config.switches.commercialMetrics } - tests={newslettersPage.config.abTests} /> { commercialMetricsEnabled={ !!frontendData.config.switches.commercialMetrics } - tests={frontendData.config.abTests} /> @@ -136,10 +135,7 @@ export const ArticlePage = (props: WebProps | AppProps) => { } /> - {isGoogleOneTapEnabled( - frontendData.config.abTests, - frontendData.config.switches, - ) && ( + {isGoogleOneTapEnabled(frontendData.config.switches) && ( { commercialMetricsEnabled={ !!front.config.switches.commercialMetrics } - tests={front.config.abTests} /> @@ -92,10 +91,7 @@ export const FrontPage = ({ front, NAV }: Props) => { - {isGoogleOneTapEnabled( - front.config.abTests, - front.config.switches, - ) && ( + {isGoogleOneTapEnabled(front.config.switches) && ( diff --git a/dotcom-rendering/src/components/GoogleOneTap.island.tsx b/dotcom-rendering/src/components/GoogleOneTap.island.tsx index dd8d32dd8df..cd4de4a8c08 100644 --- a/dotcom-rendering/src/components/GoogleOneTap.island.tsx +++ b/dotcom-rendering/src/components/GoogleOneTap.island.tsx @@ -7,7 +7,7 @@ import { useIsSignedIn } from '../lib/useAuthStatus'; import { useConsent } from '../lib/useConsent'; import { useCountryCode } from '../lib/useCountryCode'; import { useOnce } from '../lib/useOnce'; -import type { ServerSideTests, StageType, Switches } from '../types/config'; +import type { StageType, Switches } from '../types/config'; type IdentityProviderConfig = { configURL: string; @@ -24,11 +24,7 @@ type CredentialsProvider = { }) => Promise<{ token: string }>; }; -export const isGoogleOneTapEnabled = ( - tests: ServerSideTests, - switches: Switches, -): boolean => - tests['googleOneTapVariant'] === 'variant' || +export const isGoogleOneTapEnabled = (switches: Switches): boolean => switches['googleOneTapSwitch'] === true; /** diff --git a/dotcom-rendering/src/components/HostedContentPage.tsx b/dotcom-rendering/src/components/HostedContentPage.tsx index b292590caf6..f95ae6b3d3e 100644 --- a/dotcom-rendering/src/components/HostedContentPage.tsx +++ b/dotcom-rendering/src/components/HostedContentPage.tsx @@ -115,7 +115,6 @@ export const HostedContentPage = (props: WebProps | AppProps) => { commercialMetricsEnabled={ !!frontendData.config.switches.commercialMetrics } - tests={frontendData.config.abTests} /> diff --git a/dotcom-rendering/src/components/Island.test.tsx b/dotcom-rendering/src/components/Island.test.tsx index 7fff3892cdd..31af29fe2c4 100644 --- a/dotcom-rendering/src/components/Island.test.tsx +++ b/dotcom-rendering/src/components/Island.test.tsx @@ -296,7 +296,7 @@ describe('Island: server-side rendering', () => { expect(() => renderToString( - + , ), ).not.toThrow(); diff --git a/dotcom-rendering/src/components/KeyTakeaway.tsx b/dotcom-rendering/src/components/KeyTakeaway.tsx index 51e376c7091..a538296315b 100644 --- a/dotcom-rendering/src/components/KeyTakeaway.tsx +++ b/dotcom-rendering/src/components/KeyTakeaway.tsx @@ -4,7 +4,7 @@ import type { EditionId } from '../lib/edition'; import type { ArticleElementRenderer } from '../lib/renderElement'; import { slugify } from '../model/enhance-H2s'; import { palette } from '../palette'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { KeyTakeaway as KeyTakeawayModel, StarRating, @@ -33,7 +33,6 @@ interface KeyTakeawayProps { pageId: string; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; switches: Switches; editionId: EditionId; hideCaption?: boolean; @@ -53,7 +52,6 @@ export const KeyTakeaway = ({ isAdFreeUser, isSensitive, switches, - abTests, editionId, titleIndex, hideCaption, @@ -87,7 +85,6 @@ export const KeyTakeaway = ({ isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} switches={switches} - abTests={abTests} editionId={editionId} hideCaption={hideCaption} starRating={starRating} diff --git a/dotcom-rendering/src/components/KeyTakeaways.stories.tsx b/dotcom-rendering/src/components/KeyTakeaways.stories.tsx index ba4a77bf897..637edd0b324 100644 --- a/dotcom-rendering/src/components/KeyTakeaways.stories.tsx +++ b/dotcom-rendering/src/components/KeyTakeaways.stories.tsx @@ -49,7 +49,6 @@ export const ThemeVariations = meta.story({ display: ArticleDisplay.Standard, theme: Pillar.News, }, - abTests: {}, /** * This is used for rich links. An empty string isn't technically valid, * but there are no rich links in this example. diff --git a/dotcom-rendering/src/components/KeyTakeaways.tsx b/dotcom-rendering/src/components/KeyTakeaways.tsx index ef3f9122936..6e25db0fb43 100644 --- a/dotcom-rendering/src/components/KeyTakeaways.tsx +++ b/dotcom-rendering/src/components/KeyTakeaways.tsx @@ -3,7 +3,7 @@ import type { ArticleFormat } from '../lib/articleFormat'; import type { EditionId } from '../lib/edition'; import type { ArticleElementRenderer } from '../lib/renderElement'; import { palette } from '../palette'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { KeyTakeaway, StarRating } from '../types/content'; import { KeyTakeaway as KeyTakeawayComponent } from './KeyTakeaway'; @@ -14,7 +14,6 @@ interface KeyTakeawaysProps { pageId: string; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; switches: Switches; editionId: EditionId; hideCaption?: boolean; @@ -44,7 +43,6 @@ export const KeyTakeaways = ({ isAdFreeUser, isSensitive, switches, - abTests, editionId, hideCaption, starRating, @@ -64,7 +62,6 @@ export const KeyTakeaways = ({ isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} switches={switches} - abTests={abTests} editionId={editionId} titleIndex={index + 1} hideCaption={hideCaption} diff --git a/dotcom-rendering/src/components/LiveBlock.stories.tsx b/dotcom-rendering/src/components/LiveBlock.stories.tsx index 0cde52f5c3b..29272045e0b 100644 --- a/dotcom-rendering/src/components/LiveBlock.stories.tsx +++ b/dotcom-rendering/src/components/LiveBlock.stories.tsx @@ -76,7 +76,6 @@ export const VideoAsSecond = () => { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={false} editionId={'UK'} @@ -125,7 +124,6 @@ export const Title = () => { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={false} editionId={'UK'} @@ -195,7 +193,6 @@ export const Video = () => { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={false} editionId={'UK'} @@ -240,7 +237,6 @@ export const RichLink = () => { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={false} editionId={'UK'} @@ -276,7 +272,6 @@ export const FirstImage = () => { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={false} editionId={'UK'} @@ -336,7 +331,6 @@ export const ImageRoles = () => { pageId="" webTitle="" ajaxUrl="" - abTests={{}} switches={{}} isPinnedPost={false} isAdFreeUser={false} @@ -387,7 +381,6 @@ export const Thumbnail = () => { pageId="" webTitle="" ajaxUrl="" - abTests={{}} switches={{}} isPinnedPost={false} isAdFreeUser={false} @@ -426,7 +419,6 @@ export const ImageAndTitle = () => { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={false} editionId={'UK'} @@ -459,7 +451,6 @@ export const Updated = () => { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={false} editionId={'UK'} @@ -494,7 +485,6 @@ export const Contributor = () => { pageId="" webTitle="" ajaxUrl="" - abTests={{}} switches={{}} isPinnedPost={false} isAdFreeUser={false} @@ -529,7 +519,6 @@ export const NoAvatar = () => { pageId="" webTitle="" ajaxUrl="" - abTests={{}} switches={{}} isPinnedPost={false} isAdFreeUser={false} @@ -567,7 +556,6 @@ export const TitleAndContributor = () => { pageId="" webTitle="" ajaxUrl="" - abTests={{}} switches={{}} isPinnedPost={false} isAdFreeUser={false} diff --git a/dotcom-rendering/src/components/LiveBlock.tsx b/dotcom-rendering/src/components/LiveBlock.tsx index 49fbacdf6e5..e616a1c77b1 100644 --- a/dotcom-rendering/src/components/LiveBlock.tsx +++ b/dotcom-rendering/src/components/LiveBlock.tsx @@ -4,7 +4,7 @@ import type { ArticleFormat } from '../lib/articleFormat'; import type { EditionId } from '../lib/edition'; import { RenderArticleElement } from '../lib/renderElement'; import type { Block } from '../types/blocks'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import { Island } from './Island'; import { LastUpdated } from './LastUpdated'; import { LiveBlockContainer } from './LiveBlockContainer'; @@ -19,7 +19,6 @@ type Props = { ajaxUrl: string; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; switches: Switches; isLiveUpdate?: boolean; isPinnedPost: boolean; @@ -39,7 +38,6 @@ export const LiveBlock = ({ ajaxUrl, isAdFreeUser, isSensitive, - abTests, switches, isLiveUpdate, isPinnedPost, @@ -89,7 +87,6 @@ export const LiveBlock = ({ webTitle={webTitle} isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} - abTests={abTests} switches={switches} isPinnedPost={isPinnedPost} editionId={editionId} diff --git a/dotcom-rendering/src/components/LiveBlogBlocksAndAdverts.tsx b/dotcom-rendering/src/components/LiveBlogBlocksAndAdverts.tsx index c307637f84c..c6554da96ff 100644 --- a/dotcom-rendering/src/components/LiveBlogBlocksAndAdverts.tsx +++ b/dotcom-rendering/src/components/LiveBlogBlocksAndAdverts.tsx @@ -3,7 +3,7 @@ import type { ArticleFormat } from '../lib/articleFormat'; import type { EditionId } from '../lib/edition'; import { getLiveblogAdPositions } from '../lib/getLiveblogAdPositions'; import type { Block } from '../types/blocks'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import { AdPlaceholder } from './AdPlaceholder.apps'; import { AdSlot } from './AdSlot.web'; import { useConfig } from './ConfigContext'; @@ -18,7 +18,6 @@ type Props = { pageId: string; webTitle: string; ajaxUrl: string; - abTests: ServerSideTests; switches: Switches; isAdFreeUser: boolean; isSensitive: boolean; @@ -43,7 +42,6 @@ export const LiveBlogBlocksAndAdverts = ({ pageId, webTitle, ajaxUrl, - abTests, switches, isAdFreeUser, isSensitive, @@ -67,7 +65,6 @@ export const LiveBlogBlocksAndAdverts = ({ host={host} ajaxUrl={ajaxUrl} isLiveUpdate={isLiveUpdate} - abTests={abTests} switches={switches} isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} diff --git a/dotcom-rendering/src/components/LiveBlogRenderer.tsx b/dotcom-rendering/src/components/LiveBlogRenderer.tsx index b24d1de93e2..af64f79b1fd 100644 --- a/dotcom-rendering/src/components/LiveBlogRenderer.tsx +++ b/dotcom-rendering/src/components/LiveBlogRenderer.tsx @@ -2,7 +2,7 @@ import { Hide } from '@guardian/source/react-components'; import type { ArticleFormat } from '../lib/articleFormat'; import type { EditionId } from '../lib/edition'; import type { Block } from '../types/blocks'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { TagType } from '../types/tag'; import { useConfig } from './ConfigContext'; import { EnhancePinnedPost } from './EnhancePinnedPost.island'; @@ -24,7 +24,6 @@ type Props = { ajaxUrl: string; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; switches: Switches; isLiveUpdate: boolean; sectionId: string; @@ -48,7 +47,6 @@ export const LiveBlogRenderer = ({ pageId, webTitle, ajaxUrl, - abTests, switches, isAdFreeUser, isSensitive, @@ -85,7 +83,6 @@ export const LiveBlogRenderer = ({ host={host} ajaxUrl={ajaxUrl} isLiveUpdate={isLiveUpdate} - abTests={abTests} switches={switches} isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} @@ -122,7 +119,6 @@ export const LiveBlogRenderer = ({ host={host} ajaxUrl={ajaxUrl} isLiveUpdate={isLiveUpdate} - abTests={abTests} switches={switches} isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} diff --git a/dotcom-rendering/src/components/MainMedia.tsx b/dotcom-rendering/src/components/MainMedia.tsx index e912f480019..871c4606715 100644 --- a/dotcom-rendering/src/components/MainMedia.tsx +++ b/dotcom-rendering/src/components/MainMedia.tsx @@ -8,7 +8,7 @@ import { import type { EditionId } from '../lib/edition'; import { getZIndex } from '../lib/getZIndex'; import { RenderArticleElement } from '../lib/renderElement'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { FEElement } from '../types/content'; const mainMedia = css` @@ -90,7 +90,6 @@ type Props = { ajaxUrl: string; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; switches: Switches; editionId: EditionId; shouldHideAds: boolean; @@ -108,7 +107,6 @@ export const MainMedia = ({ ajaxUrl, isAdFreeUser, isSensitive, - abTests, switches, editionId, shouldHideAds, @@ -130,7 +128,6 @@ export const MainMedia = ({ webTitle={webTitle} isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} - abTests={abTests} switches={switches} hideCaption={hideCaption} editionId={editionId} diff --git a/dotcom-rendering/src/components/Metrics.island.tsx b/dotcom-rendering/src/components/Metrics.island.tsx index 7ca3c05c90a..aae79883bbf 100644 --- a/dotcom-rendering/src/components/Metrics.island.tsx +++ b/dotcom-rendering/src/components/Metrics.island.tsx @@ -15,12 +15,10 @@ import { useAdBlockInUse } from '../lib/useAdBlockInUse'; import { useBrowserId } from '../lib/useBrowserId'; import { useDetectAdBlock } from '../lib/useDetectAdBlock'; import { usePageViewId } from '../lib/usePageViewId'; -import type { ServerSideTests } from '../types/config'; import { useConfig } from './ConfigContext'; type Props = { commercialMetricsEnabled: boolean; - tests: ServerSideTests; }; const sampling = 1 / 100; @@ -66,7 +64,7 @@ const useDev = () => { * * (No visual story exists as this does not render anything) */ -export const Metrics = ({ commercialMetricsEnabled, tests }: Props) => { +export const Metrics = ({ commercialMetricsEnabled }: Props) => { const abTests = useAB(); const adBlockerInUse = useAdBlockInUse(); const detectedAdBlocker = useDetectAdBlock(); @@ -77,8 +75,6 @@ export const Metrics = ({ commercialMetricsEnabled, tests }: Props) => { const isDev = useDev(); - const userInServerSideTest = Object.keys(tests).length > 0; - const userParticipations = abTests?.getParticipations() ?? {}; const collectTestMetrics = shouldCollectMetricsForTests( @@ -86,12 +82,8 @@ export const Metrics = ({ commercialMetricsEnabled, tests }: Props) => { ); const shouldBypassSampling = useCallback( - () => - willRecordCoreWebVitals || - userInServerSideTest || - collectTestMetrics, - - [userInServerSideTest, collectTestMetrics], + () => willRecordCoreWebVitals || collectTestMetrics, + [collectTestMetrics], ); useEffect( diff --git a/dotcom-rendering/src/components/MiniProfiles.stories.tsx b/dotcom-rendering/src/components/MiniProfiles.stories.tsx index 90885a83614..552e07a0b2f 100644 --- a/dotcom-rendering/src/components/MiniProfiles.stories.tsx +++ b/dotcom-rendering/src/components/MiniProfiles.stories.tsx @@ -59,7 +59,6 @@ export const ThemeVariations = meta.story({ display: ArticleDisplay.Standard, theme: Pillar.News, }, - abTests: {}, /** * This is used for rich links. An empty string isn't technically valid, * but there are no rich links in this example. diff --git a/dotcom-rendering/src/components/MiniProfiles.tsx b/dotcom-rendering/src/components/MiniProfiles.tsx index 8ba0eacb641..0c6c0f0a20f 100644 --- a/dotcom-rendering/src/components/MiniProfiles.tsx +++ b/dotcom-rendering/src/components/MiniProfiles.tsx @@ -3,7 +3,7 @@ import type { ArticleFormat } from '../lib/articleFormat'; import type { EditionId } from '../lib/edition'; import type { ArticleElementRenderer } from '../lib/renderElement'; import { palette } from '../palette'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { MiniProfile, StarRating } from '../types/content'; import { MiniProfile as MiniProfileComponent } from './MiniProfile'; @@ -14,7 +14,6 @@ interface MiniProfilesProps { pageId: string; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; switches: Switches; editionId: EditionId; hideCaption?: boolean; @@ -45,7 +44,6 @@ export const MiniProfiles = ({ isAdFreeUser, isSensitive, switches, - abTests, editionId, hideCaption, starRating, @@ -79,7 +77,6 @@ export const MiniProfiles = ({ isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} switches={switches} - abTests={abTests} editionId={editionId} hideCaption={hideCaption} starRating={starRating} diff --git a/dotcom-rendering/src/components/MultiBylines.stories.tsx b/dotcom-rendering/src/components/MultiBylines.stories.tsx index 9a7b9abf6c4..bb7b58a551d 100644 --- a/dotcom-rendering/src/components/MultiBylines.stories.tsx +++ b/dotcom-rendering/src/components/MultiBylines.stories.tsx @@ -71,7 +71,6 @@ export const ThemeVariations = meta.story({ display: ArticleDisplay.Standard, theme: Pillar.News, }, - abTests: {}, /** * This is used for rich links. An empty string isn't technically valid, * but there are no rich links in this example. diff --git a/dotcom-rendering/src/components/MultiBylines.tsx b/dotcom-rendering/src/components/MultiBylines.tsx index cb006374c3a..d9c53d7bce1 100644 --- a/dotcom-rendering/src/components/MultiBylines.tsx +++ b/dotcom-rendering/src/components/MultiBylines.tsx @@ -3,7 +3,7 @@ import type { ArticleFormat } from '../lib/articleFormat'; import type { EditionId } from '../lib/edition'; import type { ArticleElementRenderer } from '../lib/renderElement'; import { palette } from '../palette'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { MultiByline as MultiBylineModel, StarRating, @@ -17,7 +17,6 @@ interface MultiBylineProps { pageId: string; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; switches: Switches; editionId: EditionId; hideCaption?: boolean; @@ -47,7 +46,6 @@ export const MultiBylines = ({ isAdFreeUser, isSensitive, switches, - abTests, editionId, hideCaption, starRating, @@ -77,7 +75,6 @@ export const MultiBylines = ({ isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} switches={switches} - abTests={abTests} editionId={editionId} hideCaption={hideCaption} starRating={starRating} diff --git a/dotcom-rendering/src/components/PinnedPost.stories.tsx b/dotcom-rendering/src/components/PinnedPost.stories.tsx index c0a6763d3c7..d5292db1949 100644 --- a/dotcom-rendering/src/components/PinnedPost.stories.tsx +++ b/dotcom-rendering/src/components/PinnedPost.stories.tsx @@ -103,7 +103,6 @@ export const Sport = { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={true} editionId={'UK'} @@ -137,7 +136,6 @@ export const News = { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={true} editionId={'UK'} @@ -171,7 +169,6 @@ export const Culture = { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={true} editionId={'UK'} @@ -205,7 +202,6 @@ export const Lifestyle = { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={true} editionId={'UK'} @@ -239,7 +235,6 @@ export const Opinion = { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={true} editionId={'UK'} @@ -273,7 +268,6 @@ export const SpecialReport = { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={true} editionId={'UK'} @@ -307,7 +301,6 @@ export const Labs = { ajaxUrl="" isAdFreeUser={false} isSensitive={false} - abTests={{}} switches={{}} isPinnedPost={true} editionId={'UK'} diff --git a/dotcom-rendering/src/components/ProductElement.stories.tsx b/dotcom-rendering/src/components/ProductElement.stories.tsx index 2d9573bd4c9..6e6a6186cb6 100644 --- a/dotcom-rendering/src/components/ProductElement.stories.tsx +++ b/dotcom-rendering/src/components/ProductElement.stories.tsx @@ -9,7 +9,6 @@ import type { ProductBlockElement } from '../types/content'; import { ProductElement } from './ProductElement'; const ArticleElementComponent = getNestedArticleElement({ - abTests: {}, ajaxUrl: '', editionId: 'UK', isAdFreeUser: false, diff --git a/dotcom-rendering/src/components/QAndAExplainer.tsx b/dotcom-rendering/src/components/QAndAExplainer.tsx index 607661383ca..752cb9cfb17 100644 --- a/dotcom-rendering/src/components/QAndAExplainer.tsx +++ b/dotcom-rendering/src/components/QAndAExplainer.tsx @@ -4,7 +4,7 @@ import type { EditionId } from '../lib/edition'; import type { ArticleElementRenderer } from '../lib/renderElement'; import { slugify } from '../model/enhance-H2s'; import { palette } from '../palette'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { QAndAExplainer as QAndAExplainerModel, StarRating, @@ -19,7 +19,6 @@ interface Props { pageId: string; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; switches: Switches; editionId: EditionId; hideCaption?: boolean; @@ -45,7 +44,6 @@ export const QAndAExplainer = ({ isAdFreeUser, isSensitive, switches, - abTests, editionId, hideCaption, starRating, @@ -76,7 +74,6 @@ export const QAndAExplainer = ({ isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} switches={switches} - abTests={abTests} editionId={editionId} hideCaption={hideCaption} starRating={starRating} diff --git a/dotcom-rendering/src/components/QAndAExplainers.stories.tsx b/dotcom-rendering/src/components/QAndAExplainers.stories.tsx index b6f7a9af594..d9f9c504b5d 100644 --- a/dotcom-rendering/src/components/QAndAExplainers.stories.tsx +++ b/dotcom-rendering/src/components/QAndAExplainers.stories.tsx @@ -47,7 +47,6 @@ export const AllThemes = meta.story({ display: ArticleDisplay.Standard, theme: Pillar.News, }, - abTests: {}, /** * This is used for rich links. An empty string isn't technically valid, * but there are no rich links in this example. diff --git a/dotcom-rendering/src/components/QAndAExplainers.tsx b/dotcom-rendering/src/components/QAndAExplainers.tsx index 99ba9d8e8ba..3a5908fc9e8 100644 --- a/dotcom-rendering/src/components/QAndAExplainers.tsx +++ b/dotcom-rendering/src/components/QAndAExplainers.tsx @@ -3,7 +3,7 @@ import type { ArticleFormat } from '../lib/articleFormat'; import type { EditionId } from '../lib/edition'; import type { ArticleElementRenderer } from '../lib/renderElement'; import { palette } from '../palette'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { QAndAExplainer, StarRating } from '../types/content'; import { QAndAExplainer as QAndAExplainerComponent } from './QAndAExplainer'; @@ -15,7 +15,6 @@ interface Props { pageId: string; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; switches: Switches; editionId: EditionId; hideCaption?: boolean; @@ -44,7 +43,6 @@ export const QAndAExplainers = ({ isAdFreeUser, isSensitive, switches, - abTests, editionId, hideCaption, starRating, @@ -63,7 +61,6 @@ export const QAndAExplainers = ({ isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} switches={switches} - abTests={abTests} editionId={editionId} hideCaption={hideCaption} starRating={starRating} diff --git a/dotcom-rendering/src/components/SportDataPageComponent.tsx b/dotcom-rendering/src/components/SportDataPageComponent.tsx index 09631c5fc3a..3e9a68a046f 100644 --- a/dotcom-rendering/src/components/SportDataPageComponent.tsx +++ b/dotcom-rendering/src/components/SportDataPageComponent.tsx @@ -70,7 +70,6 @@ export const SportDataPageComponent = (props: Props) => { commercialMetricsEnabled={ !!sportData.config.switches.commercialMetrics } - tests={sportData.config.abTests} /> diff --git a/dotcom-rendering/src/components/TagPage.tsx b/dotcom-rendering/src/components/TagPage.tsx index 3fbf6c27c5b..27326bb78db 100644 --- a/dotcom-rendering/src/components/TagPage.tsx +++ b/dotcom-rendering/src/components/TagPage.tsx @@ -69,7 +69,6 @@ export const TagPage = ({ tagPage, NAV }: Props) => { commercialMetricsEnabled={ !!tagPage.config.switches.commercialMetrics } - tests={tagPage.config.abTests} /> @@ -80,10 +79,7 @@ export const TagPage = ({ tagPage, NAV }: Props) => { - {isGoogleOneTapEnabled( - tagPage.config.abTests, - tagPage.config.switches, - ) && ( + {isGoogleOneTapEnabled(tagPage.config.switches) && ( diff --git a/dotcom-rendering/src/components/Timeline.stories.tsx b/dotcom-rendering/src/components/Timeline.stories.tsx index fcf8c89fccc..08b985b965c 100644 --- a/dotcom-rendering/src/components/Timeline.stories.tsx +++ b/dotcom-rendering/src/components/Timeline.stories.tsx @@ -73,7 +73,6 @@ const testYoutubeElement: YoutubeBlockElement = { }; const ArticleElementComponent = getNestedArticleElement({ - abTests: {}, /** * This is used for rich links. An empty string isn't technically valid, * but there are no rich links in this example. diff --git a/dotcom-rendering/src/frontend/feFront.ts b/dotcom-rendering/src/frontend/feFront.ts index 3e576294bd0..edcf604da20 100644 --- a/dotcom-rendering/src/frontend/feFront.ts +++ b/dotcom-rendering/src/frontend/feFront.ts @@ -1,7 +1,7 @@ import type { SharedAdTargeting } from '../lib/ad-targeting'; import type { EditionId } from '../lib/edition'; import type { EditionBranding } from '../types/branding'; -import type { ServerSideTests, StageType, Switches } from '../types/config'; +import type { StageType, Switches } from '../types/config'; import type { BoostLevel, Image, @@ -322,14 +322,6 @@ export type FECollection = { }; export type FEFrontConfig = { - /** - * Server-side AB tests. Optional from `frontend`; a default of - * `{}` is applied by AJV during request validation (see `useDefaults` in - * `validate.ts`), so this is always present after enhancing. - * - * @default {} - */ - abTests: ServerSideTests; adUnit: string; ajaxUrl: string; brazeApiKey?: string; diff --git a/dotcom-rendering/src/frontend/schemas/feArticle.json b/dotcom-rendering/src/frontend/schemas/feArticle.json index ad6ee70f43d..5bebd7acf39 100644 --- a/dotcom-rendering/src/frontend/schemas/feArticle.json +++ b/dotcom-rendering/src/frontend/schemas/feArticle.json @@ -5163,11 +5163,6 @@ "description": "the config model will contain useful app/site\nlevel data. Although currently derived from the config model\nconstructed in frontend and passed to dotcom-rendering\nthis data could eventually be defined in dotcom-rendering", "type": "object", "properties": { - "abTests": { - "description": "Server-side AB tests. Optional from `frontend`; a default of\n`{}` is applied by AJV during request validation (see `useDefaults` in\n`validate.ts`), so this is always present after enhancing.", - "default": {}, - "type": "object" - }, "adUnit": { "type": "string" }, @@ -5707,7 +5702,6 @@ } }, "required": [ - "abTests", "adUnit", "ajaxUrl", "ampIframeUrl", diff --git a/dotcom-rendering/src/frontend/schemas/feCricketMatchPage.json b/dotcom-rendering/src/frontend/schemas/feCricketMatchPage.json index b886c7b1c70..76d8b829ef7 100644 --- a/dotcom-rendering/src/frontend/schemas/feCricketMatchPage.json +++ b/dotcom-rendering/src/frontend/schemas/feCricketMatchPage.json @@ -572,11 +572,6 @@ "adUnit": { "type": "string" }, - "abTests": { - "description": "Server-side AB tests. Optional from `frontend`; a default of\n`{}` is applied by AJV during request validation (see `useDefaults` in\n`validate.ts`), so this is always present after enhancing.", - "default": {}, - "type": "object" - }, "ajaxUrl": { "type": "string" }, @@ -791,7 +786,6 @@ }, "required": [ "a9PublisherId", - "abTests", "adUnit", "ajaxUrl", "allowUserGeneratedContent", diff --git a/dotcom-rendering/src/frontend/schemas/feFootballMatchInfoPage.json b/dotcom-rendering/src/frontend/schemas/feFootballMatchInfoPage.json index 13ea7bf0f51..0506dd26991 100644 --- a/dotcom-rendering/src/frontend/schemas/feFootballMatchInfoPage.json +++ b/dotcom-rendering/src/frontend/schemas/feFootballMatchInfoPage.json @@ -479,11 +479,6 @@ "adUnit": { "type": "string" }, - "abTests": { - "description": "Server-side AB tests. Optional from `frontend`; a default of\n`{}` is applied by AJV during request validation (see `useDefaults` in\n`validate.ts`), so this is always present after enhancing.", - "default": {}, - "type": "object" - }, "ajaxUrl": { "type": "string" }, @@ -698,7 +693,6 @@ }, "required": [ "a9PublisherId", - "abTests", "adUnit", "ajaxUrl", "allowUserGeneratedContent", diff --git a/dotcom-rendering/src/frontend/schemas/feFootballMatchListPage.json b/dotcom-rendering/src/frontend/schemas/feFootballMatchListPage.json index d050b811dcf..628eacef36a 100644 --- a/dotcom-rendering/src/frontend/schemas/feFootballMatchListPage.json +++ b/dotcom-rendering/src/frontend/schemas/feFootballMatchListPage.json @@ -357,11 +357,6 @@ "adUnit": { "type": "string" }, - "abTests": { - "description": "Server-side AB tests. Optional from `frontend`; a default of\n`{}` is applied by AJV during request validation (see `useDefaults` in\n`validate.ts`), so this is always present after enhancing.", - "default": {}, - "type": "object" - }, "ajaxUrl": { "type": "string" }, @@ -576,7 +571,6 @@ }, "required": [ "a9PublisherId", - "abTests", "adUnit", "ajaxUrl", "allowUserGeneratedContent", diff --git a/dotcom-rendering/src/frontend/schemas/feFootballTablesPage.json b/dotcom-rendering/src/frontend/schemas/feFootballTablesPage.json index 7493767d744..0de5e13392a 100644 --- a/dotcom-rendering/src/frontend/schemas/feFootballTablesPage.json +++ b/dotcom-rendering/src/frontend/schemas/feFootballTablesPage.json @@ -350,11 +350,6 @@ "adUnit": { "type": "string" }, - "abTests": { - "description": "Server-side AB tests. Optional from `frontend`; a default of\n`{}` is applied by AJV during request validation (see `useDefaults` in\n`validate.ts`), so this is always present after enhancing.", - "default": {}, - "type": "object" - }, "ajaxUrl": { "type": "string" }, @@ -569,7 +564,6 @@ }, "required": [ "a9PublisherId", - "abTests", "adUnit", "ajaxUrl", "allowUserGeneratedContent", diff --git a/dotcom-rendering/src/frontend/schemas/feFront.json b/dotcom-rendering/src/frontend/schemas/feFront.json index 676aa1a8ebd..08703e95381 100644 --- a/dotcom-rendering/src/frontend/schemas/feFront.json +++ b/dotcom-rendering/src/frontend/schemas/feFront.json @@ -3478,11 +3478,6 @@ { "type": "object", "properties": { - "abTests": { - "description": "Server-side AB tests. Optional from `frontend`; a default of\n`{}` is applied by AJV during request validation (see `useDefaults` in\n`validate.ts`), so this is always present after enhancing.", - "default": {}, - "type": "object" - }, "adUnit": { "type": "string" }, @@ -3594,7 +3589,6 @@ } }, "required": [ - "abTests", "adUnit", "ajaxUrl", "commercialBundleUrl", diff --git a/dotcom-rendering/src/frontend/schemas/feTagPage.json b/dotcom-rendering/src/frontend/schemas/feTagPage.json index 67cf9a5b7bc..b1e8e5a3b35 100644 --- a/dotcom-rendering/src/frontend/schemas/feTagPage.json +++ b/dotcom-rendering/src/frontend/schemas/feTagPage.json @@ -1638,11 +1638,6 @@ { "type": "object", "properties": { - "abTests": { - "description": "Server-side AB tests. Optional from `frontend`; a default of\n`{}` is applied by AJV during request validation (see `useDefaults` in\n`validate.ts`), so this is always present after enhancing.", - "default": {}, - "type": "object" - }, "adUnit": { "type": "string" }, @@ -1754,7 +1749,6 @@ } }, "required": [ - "abTests", "adUnit", "ajaxUrl", "commercialBundleUrl", diff --git a/dotcom-rendering/src/layouts/AudioLayout.tsx b/dotcom-rendering/src/layouts/AudioLayout.tsx index 94aebed7489..9c5c4ed0c18 100644 --- a/dotcom-rendering/src/layouts/AudioLayout.tsx +++ b/dotcom-rendering/src/layouts/AudioLayout.tsx @@ -409,7 +409,6 @@ export const AudioLayout = (props: WebProps | AppProps) => { idUrl={article.config.idUrl ?? ''} isDev={!!article.config.isDev} keywordIds={article.config.keywordIds} - abTests={article.config.abTests} tableOfContents={article.tableOfContents} lang={article.lang} isRightToLeftLang={ diff --git a/dotcom-rendering/src/layouts/CommentLayout.tsx b/dotcom-rendering/src/layouts/CommentLayout.tsx index 96e11c49bd2..1a92416e027 100644 --- a/dotcom-rendering/src/layouts/CommentLayout.tsx +++ b/dotcom-rendering/src/layouts/CommentLayout.tsx @@ -375,7 +375,6 @@ export const CommentLayout = (props: WebProps | AppsProps) => { pageId={article.pageId} webTitle={article.webTitle} ajaxUrl={article.config.ajaxUrl} - abTests={article.config.abTests} switches={article.config.switches} isAdFreeUser={article.isAdFreeUser} isSensitive={article.config.isSensitive} @@ -593,7 +592,6 @@ export const CommentLayout = (props: WebProps | AppsProps) => { idUrl={article.config.idUrl ?? ''} isDev={!!article.config.isDev} keywordIds={article.config.keywordIds} - abTests={article.config.abTests} tableOfContents={ article.tableOfContents } diff --git a/dotcom-rendering/src/layouts/CrosswordLayout.tsx b/dotcom-rendering/src/layouts/CrosswordLayout.tsx index c58724e4a1e..5c63d90bfae 100644 --- a/dotcom-rendering/src/layouts/CrosswordLayout.tsx +++ b/dotcom-rendering/src/layouts/CrosswordLayout.tsx @@ -282,7 +282,6 @@ export const CrosswordLayout = (props: Props) => { pageId={article.pageId} webTitle={article.webTitle} ajaxUrl={article.config.ajaxUrl} - abTests={article.config.abTests} switches={ article.config.switches } diff --git a/dotcom-rendering/src/layouts/FullPageInteractiveLayout.tsx b/dotcom-rendering/src/layouts/FullPageInteractiveLayout.tsx index 2322ffb5168..a799f339ce1 100644 --- a/dotcom-rendering/src/layouts/FullPageInteractiveLayout.tsx +++ b/dotcom-rendering/src/layouts/FullPageInteractiveLayout.tsx @@ -24,7 +24,7 @@ import { renderElement } from '../lib/renderElement'; import type { NavType } from '../model/extract-nav'; import { palette as themePalette } from '../palette'; import type { ArticleDeprecated } from '../types/article'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { FEElement } from '../types/content'; import type { RenderingTarget } from '../types/renderingTarget'; import { temporaryBodyCopyColourOverride } from './InteractiveLayout'; @@ -61,7 +61,6 @@ type RendererProps = { ajaxUrl: string; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; switches: Switches; editionId: EditionId; shouldHideAds: boolean; @@ -76,7 +75,6 @@ const Renderer = ({ ajaxUrl, isAdFreeUser, isSensitive, - abTests, switches, editionId, shouldHideAds, @@ -98,7 +96,6 @@ const Renderer = ({ ajaxUrl, isAdFreeUser, isSensitive, - abTests, switches, editionId, shouldHideAds, @@ -293,7 +290,6 @@ export const FullPageInteractiveLayout = (props: WebProps | AppsProps) => { pageId={article.pageId} webTitle={article.webTitle} ajaxUrl={article.config.ajaxUrl} - abTests={article.config.abTests} switches={article.config.switches} isAdFreeUser={article.isAdFreeUser} isSensitive={article.config.isSensitive} diff --git a/dotcom-rendering/src/layouts/HostedArticleLayout.tsx b/dotcom-rendering/src/layouts/HostedArticleLayout.tsx index 9128571f3f1..35fcc51792a 100644 --- a/dotcom-rendering/src/layouts/HostedArticleLayout.tsx +++ b/dotcom-rendering/src/layouts/HostedArticleLayout.tsx @@ -230,7 +230,6 @@ export const HostedArticleLayout = (props: WebProps | AppProps) => { pageId={frontendData.pageId} webTitle={frontendData.webTitle} ajaxUrl={frontendData.config.ajaxUrl} - abTests={frontendData.config.abTests} switches={frontendData.config.switches} isAdFreeUser={frontendData.isAdFreeUser} isSensitive={frontendData.config.isSensitive} @@ -315,7 +314,6 @@ export const HostedArticleLayout = (props: WebProps | AppProps) => { } isDev={!!frontendData.config.isDev} keywordIds={frontendData.config.keywordIds} - abTests={frontendData.config.abTests} shouldHideAds={frontendData.shouldHideAds} lang={frontendData.lang} isRightToLeftLang={ diff --git a/dotcom-rendering/src/layouts/HostedVideoLayout.tsx b/dotcom-rendering/src/layouts/HostedVideoLayout.tsx index 50f4e50180b..30373eb9397 100644 --- a/dotcom-rendering/src/layouts/HostedVideoLayout.tsx +++ b/dotcom-rendering/src/layouts/HostedVideoLayout.tsx @@ -215,7 +215,6 @@ export const HostedVideoLayout = (props: WebProps | AppProps) => { pageId={frontendData.pageId} webTitle={frontendData.webTitle} ajaxUrl={frontendData.config.ajaxUrl} - abTests={frontendData.config.abTests} switches={frontendData.config.switches} isAdFreeUser={frontendData.isAdFreeUser} isSensitive={frontendData.config.isSensitive} @@ -292,7 +291,6 @@ export const HostedVideoLayout = (props: WebProps | AppProps) => { } isDev={!!frontendData.config.isDev} keywordIds={frontendData.config.keywordIds} - abTests={frontendData.config.abTests} shouldHideAds={frontendData.shouldHideAds} lang={frontendData.lang} isRightToLeftLang={ diff --git a/dotcom-rendering/src/layouts/ImmersiveLayout.tsx b/dotcom-rendering/src/layouts/ImmersiveLayout.tsx index 896dd0547e0..03779fc4c3a 100644 --- a/dotcom-rendering/src/layouts/ImmersiveLayout.tsx +++ b/dotcom-rendering/src/layouts/ImmersiveLayout.tsx @@ -373,7 +373,6 @@ export const ImmersiveLayout = (props: WebProps | AppProps) => { pageId={article.pageId} webTitle={article.webTitle} ajaxUrl={article.config.ajaxUrl} - abTests={article.config.abTests} switches={article.config.switches} isAdFreeUser={article.isAdFreeUser} isSensitive={article.config.isSensitive} @@ -689,7 +688,6 @@ export const ImmersiveLayout = (props: WebProps | AppProps) => { isPreview={article.config.isPreview} idUrl={article.config.idUrl ?? ''} isDev={!!article.config.isDev} - abTests={article.config.abTests} tableOfContents={article.tableOfContents} lang={article.lang} isRightToLeftLang={ diff --git a/dotcom-rendering/src/layouts/InteractiveLayout.tsx b/dotcom-rendering/src/layouts/InteractiveLayout.tsx index 442be07969b..017ff77e788 100644 --- a/dotcom-rendering/src/layouts/InteractiveLayout.tsx +++ b/dotcom-rendering/src/layouts/InteractiveLayout.tsx @@ -336,7 +336,6 @@ export const InteractiveLayout = (props: WebProps | AppsProps) => { pageId={article.pageId} webTitle={article.webTitle} ajaxUrl={article.config.ajaxUrl} - abTests={article.config.abTests} switches={article.config.switches} isAdFreeUser={article.isAdFreeUser} isSensitive={article.config.isSensitive} @@ -495,7 +494,6 @@ export const InteractiveLayout = (props: WebProps | AppsProps) => { pageId={article.pageId} webTitle={article.webTitle} ajaxUrl={article.config.ajaxUrl} - abTests={article.config.abTests} switches={article.config.switches} isSensitive={article.config.isSensitive} isAdFreeUser={article.isAdFreeUser} diff --git a/dotcom-rendering/src/layouts/LiveLayout.tsx b/dotcom-rendering/src/layouts/LiveLayout.tsx index aa236c351a2..de7be0e3bed 100644 --- a/dotcom-rendering/src/layouts/LiveLayout.tsx +++ b/dotcom-rendering/src/layouts/LiveLayout.tsx @@ -612,7 +612,6 @@ export const LiveLayout = (props: WebProps | AppsProps) => { pageId={article.pageId} webTitle={article.webTitle} ajaxUrl={article.config.ajaxUrl} - abTests={article.config.abTests} switches={article.config.switches} isSensitive={ article.config.isSensitive @@ -746,7 +745,6 @@ export const LiveLayout = (props: WebProps | AppsProps) => { sectionId={ article.config.section } - abTests={article.config.abTests} switches={ article.config.switches } diff --git a/dotcom-rendering/src/layouts/NewsletterSignupLayout.tsx b/dotcom-rendering/src/layouts/NewsletterSignupLayout.tsx index f44518ab711..215cdc2302a 100644 --- a/dotcom-rendering/src/layouts/NewsletterSignupLayout.tsx +++ b/dotcom-rendering/src/layouts/NewsletterSignupLayout.tsx @@ -411,7 +411,6 @@ export const NewsletterSignupLayout = ({ pageId={article.pageId} webTitle={article.webTitle} ajaxUrl={article.config.ajaxUrl} - abTests={article.config.abTests} switches={article.config.switches} isAdFreeUser={article.isAdFreeUser} isSensitive={article.config.isSensitive} diff --git a/dotcom-rendering/src/layouts/PictureLayout.tsx b/dotcom-rendering/src/layouts/PictureLayout.tsx index 8a2395bdc4b..f4e3f55728c 100644 --- a/dotcom-rendering/src/layouts/PictureLayout.tsx +++ b/dotcom-rendering/src/layouts/PictureLayout.tsx @@ -432,7 +432,6 @@ export const PictureLayout = (props: WebProps | AppsProps) => { pageId={article.pageId} webTitle={article.webTitle} ajaxUrl={article.config.ajaxUrl} - abTests={article.config.abTests} switches={article.config.switches} isAdFreeUser={article.isAdFreeUser} isSensitive={article.config.isSensitive} diff --git a/dotcom-rendering/src/layouts/StandardLayout.tsx b/dotcom-rendering/src/layouts/StandardLayout.tsx index 8d24f6d3b8f..25945dc27dc 100644 --- a/dotcom-rendering/src/layouts/StandardLayout.tsx +++ b/dotcom-rendering/src/layouts/StandardLayout.tsx @@ -290,7 +290,6 @@ export const StandardLayout = (props: WebProps | AppProps) => { pageId={article.pageId} webTitle={article.webTitle} ajaxUrl={article.config.ajaxUrl} - abTests={article.config.abTests} switches={article.config.switches} isAdFreeUser={article.isAdFreeUser} isSensitive={article.config.isSensitive} @@ -498,7 +497,6 @@ export const StandardLayout = (props: WebProps | AppProps) => { idUrl={article.config.idUrl ?? ''} isDev={!!article.config.isDev} keywordIds={article.config.keywordIds} - abTests={article.config.abTests} tableOfContents={article.tableOfContents} lang={article.lang} isRightToLeftLang={ diff --git a/dotcom-rendering/src/lib/ArticleRenderer.test.tsx b/dotcom-rendering/src/lib/ArticleRenderer.test.tsx index 374b01b00b8..a9f2534f829 100644 --- a/dotcom-rendering/src/lib/ArticleRenderer.test.tsx +++ b/dotcom-rendering/src/lib/ArticleRenderer.test.tsx @@ -75,7 +75,6 @@ const defaultProps = { isDev: false, isAdFreeUser: false, isSensitive: false, - abTests: {}, editionId: 'UK' as const, contributionsServiceUrl: 'https://contributions.test', shouldHideAds: false, diff --git a/dotcom-rendering/src/lib/ArticleRenderer.tsx b/dotcom-rendering/src/lib/ArticleRenderer.tsx index c5878173c14..74dc8581b64 100644 --- a/dotcom-rendering/src/lib/ArticleRenderer.tsx +++ b/dotcom-rendering/src/lib/ArticleRenderer.tsx @@ -4,7 +4,7 @@ import { useConfig } from '../components/ConfigContext'; import { FeastContextualNudge } from '../components/FeastContextualNudge.island'; import { Island } from '../components/Island'; import { interactiveLegacyClasses } from '../layouts/lib/interactiveLegacyStyling'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { FEElement, RecipeBlockElement } from '../types/content'; import type { TagType } from '../types/tag'; import { spacefinderAdStyles } from './adStyles'; @@ -35,7 +35,6 @@ type Props = { isDev: boolean; isAdFreeUser: boolean; isSensitive: boolean; - abTests: ServerSideTests; editionId: EditionId; contributionsServiceUrl: string; shouldHideAds: boolean; @@ -59,7 +58,6 @@ export const ArticleRenderer = ({ isAdFreeUser, isSensitive, isDev, - abTests, editionId, contributionsServiceUrl, shouldHideAds, @@ -87,7 +85,6 @@ export const ArticleRenderer = ({ isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} switches={switches} - abTests={abTests} editionId={editionId} totalElements={length} isSectionedMiniProfilesArticle={isSectionedMiniProfilesArticle} diff --git a/dotcom-rendering/src/lib/assets.test.ts b/dotcom-rendering/src/lib/assets.test.ts index 2eb138f8b8e..a5bcfe5666d 100644 --- a/dotcom-rendering/src/lib/assets.test.ts +++ b/dotcom-rendering/src/lib/assets.test.ts @@ -97,15 +97,7 @@ describe('getPathFromManifest', () => { describe('getModulesBuild', () => { it('should default to web', () => { - const build = getModulesBuild({ tests: {}, switches: {} }); - expect(build).toBe('client.web'); - }); - - it('should support variant build when in test, if enabled', () => { - const build = getModulesBuild({ - tests: { dcrJavascriptBundleVariant: 'variant' }, - switches: {}, - }); + const build = getModulesBuild(); const expected = BUILD_VARIANT ? 'client.web.variant' : 'client.web'; expect(build).toBe(expected); }); diff --git a/dotcom-rendering/src/lib/assets.ts b/dotcom-rendering/src/lib/assets.ts index 3ea97af35b1..420219a3a24 100644 --- a/dotcom-rendering/src/lib/assets.ts +++ b/dotcom-rendering/src/lib/assets.ts @@ -1,8 +1,7 @@ import { readFileSync } from 'node:fs'; import { resolve } from 'node:path'; import { isObject, isString } from '@guardian/libs'; -import { BUILD_VARIANT, dcrJavascriptBundle } from '../../webpack/bundles'; -import type { ServerSideTests, Switches } from '../types/config'; +import { BUILD_VARIANT } from '../../webpack/bundles'; import { makeMemoizedFunction } from './memoize'; interface AssetHash { @@ -138,13 +137,8 @@ export const generateScriptTags = (scripts: string[]): string[] => ].join('\n'); }); -export const getModulesBuild = ({ - tests, -}: { - tests: ServerSideTests; - switches: Switches; -}): Extract => { - if (BUILD_VARIANT && tests[dcrJavascriptBundle('Variant')] === 'variant') { +export const getModulesBuild = (): Extract => { + if (BUILD_VARIANT) { return 'client.web.variant'; } return 'client.web'; diff --git a/dotcom-rendering/src/lib/renderElement.tsx b/dotcom-rendering/src/lib/renderElement.tsx index f877210f059..8ac31680742 100644 --- a/dotcom-rendering/src/lib/renderElement.tsx +++ b/dotcom-rendering/src/lib/renderElement.tsx @@ -72,7 +72,7 @@ import { interactiveLegacyFigureClasses, isInteractive, } from '../layouts/lib/interactiveLegacyStyling'; -import type { ServerSideTests, Switches } from '../types/config'; +import type { Switches } from '../types/config'; import type { FEElement, RoleType, StarRating } from '../types/content'; import { ArticleDesign, @@ -97,7 +97,6 @@ type Props = { isSensitive: boolean; switches: Switches; isPinnedPost?: boolean; - abTests: ServerSideTests; editionId: EditionId; forceDropCap?: 'on' | 'off'; isTimeline?: boolean; @@ -169,7 +168,6 @@ export const renderElement = ({ switches, isSensitive, isPinnedPost, - abTests, editionId, forceDropCap, isTimeline = false, @@ -491,7 +489,6 @@ export const renderElement = ({ pageId={pageId} isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} - abTests={abTests} switches={switches} editionId={editionId} RenderArticleElement={RenderArticleElement} @@ -550,7 +547,6 @@ export const renderElement = ({ pageId={pageId} isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} - abTests={abTests} switches={switches} editionId={editionId} RenderArticleElement={RenderArticleElement} @@ -568,7 +564,6 @@ export const renderElement = ({ pageId={pageId} isAdFreeUser={isAdFreeUser} isSensitive={isSensitive} - abTests={abTests} switches={switches} editionId={editionId} RenderArticleElement={RenderArticleElement} @@ -644,7 +639,6 @@ export const renderElement = ({ ; ophan: { pageViewId: string; @@ -95,7 +89,6 @@ export const createGuardian = ({ isPaidContent, googletagUrl, switches, - abTests, serverSideABTests, editionId, contentType, @@ -115,7 +108,6 @@ export const createGuardian = ({ ajaxUrl: string; googletagUrl: string; switches: Switches; - abTests: ServerSideTests; serverSideABTests: Record; editionId: EditionId; shouldHideReaderRevenue?: boolean; @@ -166,7 +158,6 @@ export const createGuardian = ({ googletag: googletagUrl, }, switches, - tests: abTests, serverSideABTests, ophan: { pageViewId: '', diff --git a/dotcom-rendering/src/model/newsletter-page-schema.json b/dotcom-rendering/src/model/newsletter-page-schema.json index 9f87ec4ef83..b4ea0bf41f1 100644 --- a/dotcom-rendering/src/model/newsletter-page-schema.json +++ b/dotcom-rendering/src/model/newsletter-page-schema.json @@ -129,11 +129,6 @@ "switches": { "$ref": "#/definitions/Switches" }, - "abTests": { - "description": "Server-side AB tests. Optional from `frontend`; a default of\n`{}` is applied by AJV during request validation (see `useDefaults` in\n`validate.ts`), so this is always present after enhancing.", - "default": {}, - "type": "object" - }, "serverSideABTests": { "$ref": "#/definitions/Record" }, @@ -196,7 +191,6 @@ } }, "required": [ - "abTests", "adUnit", "ajaxUrl", "commercialBundleUrl", diff --git a/dotcom-rendering/src/server/handler.article.apps.ts b/dotcom-rendering/src/server/handler.article.apps.ts index f5f9fcd7690..4b6813a9406 100644 --- a/dotcom-rendering/src/server/handler.article.apps.ts +++ b/dotcom-rendering/src/server/handler.article.apps.ts @@ -51,7 +51,6 @@ export const handleAppsBlocks: RequestHandler = ({ body }, res) => { section, sharedAdTargeting, adUnit, - abTests, switches, keywordIds, shouldHideAds, @@ -84,7 +83,6 @@ export const handleAppsBlocks: RequestHandler = ({ body }, res) => { sharedAdTargeting, adUnit, switches, - abTests, keywordIds, shouldHideAds, }); diff --git a/dotcom-rendering/src/server/handler.article.web.ts b/dotcom-rendering/src/server/handler.article.web.ts index f39c4692279..73814f36f93 100644 --- a/dotcom-rendering/src/server/handler.article.web.ts +++ b/dotcom-rendering/src/server/handler.article.web.ts @@ -56,7 +56,6 @@ export const handleBlocks: RequestHandler = ({ body }, res) => { section, sharedAdTargeting, adUnit, - abTests, serverSideABTests, switches, keywordIds, @@ -91,7 +90,6 @@ export const handleBlocks: RequestHandler = ({ body }, res) => { sharedAdTargeting, adUnit, switches, - abTests, serverSideABTests, keywordIds, shouldHideAds, diff --git a/dotcom-rendering/src/server/lib/logging-middleware.ts b/dotcom-rendering/src/server/lib/logging-middleware.ts index 59ff8e591cd..1f27e975f42 100644 --- a/dotcom-rendering/src/server/lib/logging-middleware.ts +++ b/dotcom-rendering/src/server/lib/logging-middleware.ts @@ -1,5 +1,4 @@ import type { RequestHandler } from 'express'; -import type { ConfigType } from '../../types/config'; import { logger } from './logging'; import { loggingStore } from './logging-store'; @@ -12,15 +11,6 @@ const hasPageId = (body: unknown): body is { pageId: string } => { ); }; -const hasConfig = (body: unknown): body is { config: ConfigType } => { - return ( - !!body && - typeof body === 'object' && - 'config' in body && - typeof body.config === 'object' - ); -}; - /** * An Express middleware which handles creating our logger store and logging requests after they've * completed. @@ -37,9 +27,6 @@ export const requestLoggerMiddleware: RequestHandler = (req, res, next) => { }, requestId: requestId ?? 'request-id-not-provided', timing: {}, - abTests: hasConfig(req.body) - ? JSON.stringify(req.body.config.abTests) - : '{no-ab-tests-found}', }; res.on('finish', () => { diff --git a/dotcom-rendering/src/server/lib/logging-store.ts b/dotcom-rendering/src/server/lib/logging-store.ts index 9db403ce160..0a2f33b9f3d 100644 --- a/dotcom-rendering/src/server/lib/logging-store.ts +++ b/dotcom-rendering/src/server/lib/logging-store.ts @@ -18,7 +18,6 @@ export type DCRLoggingStore = { method: string; }; requestId: string; - abTests: string; error?: { message?: string; stack?: string; diff --git a/dotcom-rendering/src/server/lib/logging.ts b/dotcom-rendering/src/server/lib/logging.ts index f62e8e66b21..0e2c2b0794e 100644 --- a/dotcom-rendering/src/server/lib/logging.ts +++ b/dotcom-rendering/src/server/lib/logging.ts @@ -16,7 +16,7 @@ type LogFields = Partial & Record; const logFields = (logEvent: LoggingEvent): LogFields => { - const { request, requestId, abTests } = loggingStore.getStore() ?? { + const { request, requestId } = loggingStore.getStore() ?? { request: { pageId: 'outside-request-context' }, }; @@ -31,7 +31,6 @@ const logFields = (logEvent: LoggingEvent): LogFields => { level: logEvent.level.levelStr, request, requestId, - abTests, }; // log4js uses any[] to type data but we want to coerce it here // because we now depend on the type to log the result properly diff --git a/dotcom-rendering/src/server/render.allEditorialNewslettersPage.web.tsx b/dotcom-rendering/src/server/render.allEditorialNewslettersPage.web.tsx index f549f7544d2..2ae158ca3ba 100644 --- a/dotcom-rendering/src/server/render.allEditorialNewslettersPage.web.tsx +++ b/dotcom-rendering/src/server/render.allEditorialNewslettersPage.web.tsx @@ -45,10 +45,7 @@ export const renderEditorialNewslettersPage = ({ , ); - const build = getModulesBuild({ - switches: newslettersPage.config.switches, - tests: newslettersPage.config.abTests, - }); + const build = getModulesBuild(); /** * The highest priority scripts. @@ -79,7 +76,6 @@ export const renderEditorialNewslettersPage = ({ ajaxUrl: newslettersPage.config.ajaxUrl, googletagUrl: newslettersPage.config.googletagUrl, switches: newslettersPage.config.switches, - abTests: newslettersPage.config.abTests, serverSideABTests: newslettersPage.config.serverSideABTests, brazeApiKey: newslettersPage.config.brazeApiKey, contentType: newslettersPage.config.contentType, diff --git a/dotcom-rendering/src/server/render.article.apps.tsx b/dotcom-rendering/src/server/render.article.apps.tsx index da299a4f128..896b94608ad 100644 --- a/dotcom-rendering/src/server/render.article.apps.tsx +++ b/dotcom-rendering/src/server/render.article.apps.tsx @@ -103,7 +103,6 @@ window.twttr = (function(d, s, id) { ajaxUrl: frontendData.config.ajaxUrl, googletagUrl: frontendData.config.googletagUrl, switches: frontendData.config.switches, - abTests: frontendData.config.abTests, serverSideABTests: frontendData.config.serverSideABTests, isPaidContent: frontendData.pageType.isPaidContent, contentType: frontendData.contentType, @@ -157,7 +156,6 @@ export const renderAppsBlocks = ({ section, switches, keywordIds, - abTests = {}, edition, shouldHideAds, }: FEBlocksRequest): string => { @@ -183,7 +181,6 @@ export const renderAppsBlocks = ({ ajaxUrl={ajaxUrl} isSensitive={isSensitive} isAdFreeUser={isAdFreeUser} - abTests={abTests} switches={switches} isLiveUpdate={true} sectionId={section} @@ -287,7 +284,6 @@ window.twttr = (function(d, s, id) { ajaxUrl: frontendData.config.ajaxUrl, googletagUrl: frontendData.config.googletagUrl, switches: frontendData.config.switches, - abTests: frontendData.config.abTests, serverSideABTests: frontendData.config.serverSideABTests, isPaidContent: frontendData.pageType.isPaidContent, contentType: frontendData.contentType, diff --git a/dotcom-rendering/src/server/render.article.web.tsx b/dotcom-rendering/src/server/render.article.web.tsx index bd4f1cb0c29..8fb5bc99ff1 100644 --- a/dotcom-rendering/src/server/render.article.web.tsx +++ b/dotcom-rendering/src/server/render.article.web.tsx @@ -102,10 +102,7 @@ export const renderArticle = ({ 'model.dotcomrendering.pageElements.TweetBlockElement', ); - const build = getModulesBuild({ - tests: frontendData.config.abTests, - switches: frontendData.config.switches, - }); + const build = getModulesBuild(); /** * The highest priority scripts. @@ -143,7 +140,6 @@ export const renderArticle = ({ ajaxUrl: frontendData.config.ajaxUrl, googletagUrl: frontendData.config.googletagUrl, switches: frontendData.config.switches, - abTests: frontendData.config.abTests, serverSideABTests: frontendData.config.serverSideABTests, brazeApiKey: frontendData.config.brazeApiKey, isPaidContent: frontendData.pageType.isPaidContent, @@ -244,7 +240,6 @@ export const renderBlocks = ({ section, switches, keywordIds, - abTests = {}, serverSideABTests, edition, shouldHideAds, @@ -274,7 +269,6 @@ export const renderBlocks = ({ ajaxUrl={ajaxUrl} isSensitive={isSensitive} isAdFreeUser={isAdFreeUser} - abTests={abTests} switches={switches} isLiveUpdate={true} sectionId={section} @@ -353,10 +347,7 @@ export const renderHostedContent = ({ 'model.dotcomrendering.pageElements.TweetBlockElement', ); - const build = getModulesBuild({ - tests: frontendData.config.abTests, - switches: frontendData.config.switches, - }); + const build = getModulesBuild(); /** * The highest priority scripts. @@ -394,7 +385,6 @@ export const renderHostedContent = ({ ajaxUrl: frontendData.config.ajaxUrl, googletagUrl: frontendData.config.googletagUrl, switches: frontendData.config.switches, - abTests: frontendData.config.abTests, serverSideABTests: frontendData.config.serverSideABTests, brazeApiKey: frontendData.config.brazeApiKey, isPaidContent: frontendData.pageType.isPaidContent, diff --git a/dotcom-rendering/src/server/render.front.web.tsx b/dotcom-rendering/src/server/render.front.web.tsx index 5544926ab6b..d4256aa834f 100644 --- a/dotcom-rendering/src/server/render.front.web.tsx +++ b/dotcom-rendering/src/server/render.front.web.tsx @@ -100,10 +100,7 @@ export const renderFront = ({ , ); - const build = getModulesBuild({ - switches: front.config.switches, - tests: front.config.abTests, - }); + const build = getModulesBuild(); /** * The highest priority scripts. @@ -134,7 +131,6 @@ export const renderFront = ({ ajaxUrl: front.config.ajaxUrl, googletagUrl: front.config.googletagUrl, switches: front.config.switches, - abTests: front.config.abTests, serverSideABTests: front.config.serverSideABTests, brazeApiKey: front.config.brazeApiKey, contentType: front.config.contentType, @@ -201,10 +197,7 @@ export const renderTagPage = ({ , ); - const build = getModulesBuild({ - switches: tagPage.config.switches, - tests: tagPage.config.abTests, - }); + const build = getModulesBuild(); /** * The highest priority scripts. @@ -235,7 +228,6 @@ export const renderTagPage = ({ ajaxUrl: tagPage.config.ajaxUrl, googletagUrl: tagPage.config.googletagUrl, switches: tagPage.config.switches, - abTests: tagPage.config.abTests, serverSideABTests: tagPage.config.serverSideABTests, brazeApiKey: tagPage.config.brazeApiKey, googleRecaptchaSiteKey: tagPage.config.googleRecaptchaSiteKey, diff --git a/dotcom-rendering/src/server/render.sportDataPage.app.tsx b/dotcom-rendering/src/server/render.sportDataPage.app.tsx index 259069d9c9b..55e1b757a42 100644 --- a/dotcom-rendering/src/server/render.sportDataPage.app.tsx +++ b/dotcom-rendering/src/server/render.sportDataPage.app.tsx @@ -52,7 +52,6 @@ export const renderAppsSportPage = (sportData: FootballMatchInfoPage) => { ajaxUrl: sportData.config.ajaxUrl, googletagUrl: sportData.config.googletagUrl, switches: sportData.config.switches, - abTests: sportData.config.abTests, serverSideABTests: sportData.config.serverSideABTests, isPaidContent: sportData.config.isPaidContent, contentType: sportData.config.contentType, diff --git a/dotcom-rendering/src/server/render.sportDataPage.web.tsx b/dotcom-rendering/src/server/render.sportDataPage.web.tsx index 9e06c39f7c5..ca8beed7d47 100644 --- a/dotcom-rendering/src/server/render.sportDataPage.web.tsx +++ b/dotcom-rendering/src/server/render.sportDataPage.web.tsx @@ -128,10 +128,7 @@ export const renderSportPage = ({ sportData, nav }: Props) => { , ); - const build = getModulesBuild({ - switches: sportData.config.switches, - tests: sportData.config.abTests, - }); + const build = getModulesBuild(); /** * The highest priority scripts. @@ -169,7 +166,6 @@ export const renderSportPage = ({ sportData, nav }: Props) => { ajaxUrl: sportData.config.ajaxUrl, googletagUrl: sportData.config.googletagUrl, switches: sportData.config.switches, - abTests: sportData.config.abTests, serverSideABTests: sportData.config.serverSideABTests, brazeApiKey: sportData.config.brazeApiKey, isPaidContent: sportData.config.isPaidContent, diff --git a/dotcom-rendering/src/types/config.ts b/dotcom-rendering/src/types/config.ts index e89cfa30622..579968b7c04 100644 --- a/dotcom-rendering/src/types/config.ts +++ b/dotcom-rendering/src/types/config.ts @@ -20,19 +20,6 @@ export interface CommercialConfigType { hasSurveyAd?: boolean; } -/** - * Narrowest representation of the server-side tests - * object shape, which is [defined in `frontend`](https://github.com/guardian/frontend/blob/23743723030a041e4f4f59fa265ee2be0bb51825/common/app/experiments/ExperimentsDefinition.scala#L24-L26). - * - * **Note:** This type is not support by JSON-schema, it evaluates as `object` - */ -export type ServerSideTests = { - [key: `${string}Variant`]: 'variant'; - [key: `${string}Control`]: 'control'; -}; - -export type ServerSideTestNames = keyof ServerSideTests; - export interface Switches { [key: string]: boolean | undefined; } @@ -44,14 +31,6 @@ export interface Switches { * this data could eventually be defined in dotcom-rendering */ export interface ConfigType extends CommercialConfigType, LegacyConfig { - /** - * Server-side AB tests. Optional from `frontend`; a default of - * `{}` is applied by AJV during request validation (see `useDefaults` in - * `validate.ts`), so this is always present after enhancing. - * - * @default {} - */ - abTests: ServerSideTests; adUnit: string; ajaxUrl: string; brazeApiKey?: string; diff --git a/dotcom-rendering/src/types/frontend.ts b/dotcom-rendering/src/types/frontend.ts index abff3bcf80a..5d8900ef901 100644 --- a/dotcom-rendering/src/types/frontend.ts +++ b/dotcom-rendering/src/types/frontend.ts @@ -2,7 +2,6 @@ import type { FEFormat } from '../frontend/feArticle'; import type { SharedAdTargeting } from '../lib/ad-targeting'; import type { Block } from './blocks'; import type { ReaderRevenuePositions } from './commercial'; -import type { ServerSideTests } from './config'; /** * BlocksRequest is the expected body format for POST requests made to /Blocks @@ -22,7 +21,6 @@ export interface FEBlocksRequest { adUnit: string; videoDuration?: number; switches: { [key: string]: boolean }; - abTests?: ServerSideTests; serverSideABTests?: Record; keywordIds: string; shouldHideAds: boolean; diff --git a/dotcom-rendering/src/types/newslettersPage.ts b/dotcom-rendering/src/types/newslettersPage.ts index 12791ea9ec7..01ed3a8b510 100644 --- a/dotcom-rendering/src/types/newslettersPage.ts +++ b/dotcom-rendering/src/types/newslettersPage.ts @@ -1,5 +1,5 @@ import type { EditionId } from '../lib/edition'; -import type { ServerSideTests, StageType, Switches } from './config'; +import type { StageType, Switches } from './config'; import type { Newsletter, NewsletterLayout } from './content'; import type { FooterType } from './footer'; import type { FENavType } from './frontend'; @@ -14,14 +14,6 @@ type FENewslettersConfigType = { sentryHost: string; dcrSentryDsn: string; // used in dotcom-rendering/src/client/sentryLoader/sentry.ts switches: Switches; - /** - * Server-side AB tests. Optional from `frontend`; a default of - * `{}` is applied by AJV during request validation (see `useDefaults` in - * `validate.ts`), so this is always present after enhancing. - * - * @default {} - */ - abTests: ServerSideTests; serverSideABTests: Record; dfpAccountId: string; commercialBundleUrl: string; diff --git a/dotcom-rendering/webpack/bundles.js b/dotcom-rendering/webpack/bundles.js index 3b5bda458e6..1408de25c7f 100644 --- a/dotcom-rendering/webpack/bundles.js +++ b/dotcom-rendering/webpack/bundles.js @@ -19,7 +19,7 @@ const BUILD_VARIANT = false; * * @see https://github.com/guardian/frontend/blob/main/common/app/experiments/Experiments.scala * - * @type {(variant: 'Variant' | 'Control') => import("../src/types/config").ServerSideTestNames} + * @type {(variant: 'Variant' | 'Control') => string} */ const dcrJavascriptBundle = (variant) => `dcrJavascriptBundle${variant}`;