Skip to content

Commit 49662dc

Browse files
authored
Unskip reject all tests (#1861)
* Try mocking geo cookie * Pretend to be in Ireland instead of faking an ad-lite subscription * Update page load functions
1 parent 995a57c commit 49662dc

4 files changed

Lines changed: 30 additions & 73 deletions

File tree

playwright/lib/load-page.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const loadPage = async (page: Page, path: string, region = 'GB') => {
3030
const visitArticleNoOkta = async (
3131
page: Page,
3232
path = '/politics/2022/feb/10/keir-starmer-says-stop-the-war-coalition-gives-help-to-authoritarians-like-putin',
33+
region = 'IE',
3334
) => {
3435
const fixture = {
3536
config: {
@@ -46,7 +47,7 @@ const visitArticleNoOkta = async (
4647
adtest: undefined,
4748
fixture,
4849
});
49-
await loadPage(page, url);
50+
await loadPage(page, url, region);
5051
};
5152

5253
export { loadPage, visitArticleNoOkta };

playwright/lib/util.ts

Lines changed: 9 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -111,61 +111,34 @@ const setupFakeLogin = async (
111111
page: Page,
112112
context: BrowserContext,
113113
subscriber = true,
114-
allowRejectAll = true,
115114
) => {
116115
const bodyOverride: UserFeaturesResponse = {
117116
userId: '107421393',
118117
digitalSubscriptionExpiryDate: '2999-01-01',
119-
guardianAdLiteExpiryDate: '2999-01-01',
120-
showSupportMessaging: true,
118+
showSupportMessaging: false,
121119
contentAccess: {
122120
member: false,
123121
paidMember: false,
124122
recurringContributor: false,
125123
digitalPack: true,
126124
paperSubscriber: false,
127125
guardianWeeklySubscriber: false,
128-
guardianAdLite: true,
129126
},
130127
};
131128

132129
if (!subscriber) {
133130
bodyOverride.contentAccess.digitalPack = false;
134-
bodyOverride.showSupportMessaging = false;
135131
delete bodyOverride.digitalSubscriptionExpiryDate;
136132
}
137133

138-
// following the launch of consent or pay, an account is required to be able to reject all
139-
if (allowRejectAll) {
140-
const sevenDaysLater = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000);
141-
142-
await context.addCookies([
143-
{
144-
name: 'GU_U',
145-
value: 'WyIzMjc5Nzk0IiwiIiwiSmFrZTkiLCIiLDE2NjA4MzM3NTEyMjcsMCwxMjEyNjgzMTQ3MDAwLHRydWVd.MC0CFQCIbpFtd0J5IqK946U1vagzLgCBkwIUUN3UOkNfNN8jwNE3scKfrcvoRSg',
146-
domain: 'localhost',
147-
path: '/',
148-
},
149-
{
150-
name: 'gu_allow_reject_all',
151-
value: sevenDaysLater.getTime().toString(),
152-
domain: 'localhost',
153-
path: '/',
154-
},
155-
{
156-
name: 'gu_hide_support_messaging',
157-
value: sevenDaysLater.getTime().toString(),
158-
domain: 'localhost',
159-
path: '/',
160-
},
161-
{
162-
name: 'gu_user_benefits_expiry',
163-
value: sevenDaysLater.getTime().toString(),
164-
domain: 'localhost',
165-
path: '/',
166-
},
167-
]);
168-
}
134+
await context.addCookies([
135+
{
136+
name: 'GU_U',
137+
value: 'WyIzMjc5Nzk0IiwiIiwiSmFrZTkiLCIiLDE2NjA4MzM3NTEyMjcsMCwxMjEyNjgzMTQ3MDAwLHRydWVd.MC0CFQCIbpFtd0J5IqK946U1vagzLgCBkwIUUN3UOkNfNN8jwNE3scKfrcvoRSg',
138+
domain: 'localhost',
139+
path: '/',
140+
},
141+
]);
169142

170143
await page.route(
171144
'https://members-data-api.theguardian.com/user-attributes/me**',
@@ -176,15 +149,6 @@ const setupFakeLogin = async (
176149
},
177150
{ times: 1 },
178151
);
179-
180-
await page.route(
181-
'https://user-benefits.guardianapis.com/benefits/me**',
182-
(route) => {
183-
return route.fulfill({
184-
body: JSON.stringify(['allowRejectAll']),
185-
});
186-
},
187-
);
188152
};
189153

190154
// Playwright does not currently have a useful method for removing a cookie, so this workaround is needed.

playwright/tests/consent.spec.ts

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,10 @@ test.describe('tcfv2 consent', () => {
4242
await adSlotsAreFulfilled(page);
4343
});
4444

45-
test.skip(`Reject all, load Opt Out, ad slots are present`, async ({
46-
page,
47-
context,
48-
}) => {
49-
// After consent or pay, we need to be logged in and mock an ad-lite subscription to be able to reject all
50-
await setupFakeLogin(page, context, false, true);
51-
52-
await visitArticleNoOkta(page);
45+
test(`Reject all, load Opt Out, ad slots are present`, async ({ page }) => {
46+
// if we pretend to be in Ireland, we can reject all and see opt out ads
47+
// without needing to fake logging into an ad-lite account
48+
await loadPage(page, path, 'IE');
5349

5450
const optOutPromise = waitForOptOut(page);
5551

@@ -60,16 +56,18 @@ test.describe('tcfv2 consent', () => {
6056
await adSlotsArePresent(page);
6157
});
6258

63-
test.skip(`Login as subscriber, reject all, load Opt Out, ad slots are not present on multiple page loads`, async ({
59+
test(`Login as subscriber, reject all, load Opt Out, ad slots are not present on multiple page loads`, async ({
6460
page,
6561
context,
6662
}) => {
67-
await setupFakeLogin(page, context, true, true);
63+
await setupFakeLogin(page, context, true);
6864

6965
await visitArticleNoOkta(page);
7066

7167
const optOutPromise = waitForOptOut(page);
68+
7269
await cmpRejectAll(page);
70+
7371
await optOutPromise;
7472

7573
await visitArticleNoOkta(page);
@@ -85,14 +83,12 @@ test.describe('tcfv2 consent', () => {
8583
await adSlotsAreNotPresent(page);
8684
});
8785

88-
test.skip(`Reject all, ad slots are fulfilled, then accept all, ad slots are fulfilled`, async ({
86+
test(`Reject all, ad slots are fulfilled, then accept all, ad slots are fulfilled`, async ({
8987
page,
90-
context,
9188
}) => {
92-
// After consent or pay, we need to be logged in and mock an ad-lite subscription to be able to reject all
93-
await setupFakeLogin(page, context, false, true);
94-
95-
await visitArticleNoOkta(page);
89+
// if we pretend to be in Ireland, we can reject all and see opt out ads
90+
// without needing to fake logging into an ad-lite account
91+
await loadPage(page, path, 'IE');
9692

9793
const optOutPromise = waitForOptOut(page);
9894

@@ -111,7 +107,7 @@ test.describe('tcfv2 consent', () => {
111107
page,
112108
context,
113109
}) => {
114-
await setupFakeLogin(page, context, true, false);
110+
await setupFakeLogin(page, context, true);
115111

116112
await visitArticleNoOkta(page);
117113

@@ -131,7 +127,7 @@ test.describe('tcfv2 consent', () => {
131127
page,
132128
context,
133129
}) => {
134-
await setupFakeLogin(page, context, true, true);
130+
await setupFakeLogin(page, context, true);
135131

136132
await visitArticleNoOkta(page);
137133

@@ -148,18 +144,16 @@ test.describe('tcfv2 consent', () => {
148144
await adSlotsArePresent(page);
149145
});
150146

151-
test.skip(`Reject all, ad slots are present, accept all, page refreshes, ad slots are fulfilled`, async ({
147+
test(`Reject all, ad slots are present, accept all, page refreshes, ad slots are fulfilled`, async ({
152148
page,
153-
context,
154149
}) => {
155-
// After consent or pay, we need to be logged in and mock an ad-lite subscription to be able to reject all
156-
await setupFakeLogin(page, context, false, true);
157-
158-
await visitArticleNoOkta(page);
150+
// if we pretend to be in Ireland, we can reject all and see opt out ads
151+
// without needing to fake logging into an ad-lite account
152+
await loadPage(page, path, 'IE');
159153

160154
await cmpRejectAll(page);
161155

162-
await visitArticleNoOkta(page);
156+
await loadPage(page, path, 'IE');
163157

164158
await adSlotsArePresent(page);
165159

src/types/membership.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ export type UserFeaturesResponse = {
1414
paperSubscriptionExpiryDate?: LocalDate;
1515
guardianWeeklyExpiryDate?: LocalDate;
1616
liveAppSubscriptionExpiryDate?: LocalDate;
17-
guardianAdLiteExpiryDate?: LocalDate;
1817
alertAvailableFor?: string;
1918

2019
showSupportMessaging: boolean;
@@ -26,6 +25,5 @@ export type UserFeaturesResponse = {
2625
digitalPack: boolean;
2726
paperSubscriber: boolean;
2827
guardianWeeklySubscriber: boolean;
29-
guardianAdLite: boolean;
3028
};
3129
};

0 commit comments

Comments
 (0)