@newskit-render/core 0.0.0-e16014a0 → 0.0.0-e314136b0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1008 -0
- package/Dockerfile.withNewRelic +1 -2
- package/__tests__/pages/__snapshots__/home.test.tsx.snap +1 -4
- package/components/article/__tests__/__snapshots__/index.test.tsx.snap +1 -4
- package/cypress/e2e/account/holiday-stops.cy.js +4 -4
- package/cypress/e2e/account/newsletters-page.cy.js +29 -9
- package/cypress/e2e/account/personal-details.cy.js +16 -2
- package/cypress/e2e/account/subscription-and-billing.cy.js +12 -42
- package/cypress/support/commands.js +3 -3
- package/cypress/support/users.js +13 -9
- package/helpers/getProviderPropsUtil.ts +20 -0
- package/next.config.js +55 -57
- package/package.json +12 -13
- package/pages/account/add/[field].tsx +11 -2
- package/pages/account/bonus-accounts/index.tsx +24 -0
- package/pages/account/cancellation/index.tsx +5 -4
- package/pages/account/delete/confirm/index.tsx +3 -5
- package/pages/account/delete/error/index.tsx +3 -5
- package/pages/account/delete/index.tsx +3 -5
- package/pages/account/delete/success/index.tsx +3 -5
- package/pages/account/dream-team/index.tsx +5 -4
- package/pages/account/edit/[field].tsx +19 -6
- package/pages/account/holiday-stop/index.tsx +5 -4
- package/pages/account/holiday-stop/previous-holiday-stops.tsx +3 -2
- package/pages/account/holiday-stop/upcoming-holiday-stops.tsx +3 -2
- package/pages/account/index.tsx +5 -6
- package/pages/account/newsletters/index.tsx +5 -4
- package/pages/account/newsletters-and-alerts/index.tsx +5 -7
- package/pages/account/payment/[paymentMethod].tsx +4 -4
- package/pages/account/payment/index.tsx +5 -4
- package/pages/account/payment-methods/index.tsx +5 -4
- package/pages/account/subscription-and-billing/index.tsx +15 -7
- package/pages/account/user-hub/index.tsx +20 -0
- package/temp/_document.tsx +1 -0
- package/pages/account/family/index.tsx +0 -19
package/Dockerfile.withNewRelic
CHANGED
|
@@ -4,7 +4,6 @@ WORKDIR /app
|
|
|
4
4
|
|
|
5
5
|
ENV NEXT_TELEMETRY_DISABLED 1
|
|
6
6
|
|
|
7
|
-
RUN npm install @newrelic/next
|
|
8
7
|
COPY .next/standalone ./standalone
|
|
9
8
|
COPY public ./standalone/public
|
|
10
9
|
COPY .next/static ./standalone/.next/static
|
|
@@ -12,4 +11,4 @@ COPY .next/static ./standalone/.next/static
|
|
|
12
11
|
EXPOSE 3000
|
|
13
12
|
ENV PORT 3000
|
|
14
13
|
|
|
15
|
-
CMD ["node", "
|
|
14
|
+
CMD ["node", "./standalone/server.js"]
|
|
@@ -6,7 +6,7 @@ exports[`getServerSideProps Homepage 1`] = `
|
|
|
6
6
|
class="css-1d2q07x"
|
|
7
7
|
>
|
|
8
8
|
<div
|
|
9
|
-
class="css-
|
|
9
|
+
class="css-w8ogm"
|
|
10
10
|
data-testid="NavigationPrimary"
|
|
11
11
|
>
|
|
12
12
|
<div
|
|
@@ -102,7 +102,6 @@ exports[`getServerSideProps Homepage 1`] = `
|
|
|
102
102
|
aria-label="Section One Link"
|
|
103
103
|
class="css-1ulbpfm"
|
|
104
104
|
href="/section-one"
|
|
105
|
-
type="standalone"
|
|
106
105
|
>
|
|
107
106
|
<span
|
|
108
107
|
class="css-1xnclyu"
|
|
@@ -126,7 +125,6 @@ exports[`getServerSideProps Homepage 1`] = `
|
|
|
126
125
|
aria-label="Section Two Link"
|
|
127
126
|
class="css-1ulbpfm"
|
|
128
127
|
href="/section-two"
|
|
129
|
-
type="standalone"
|
|
130
128
|
>
|
|
131
129
|
<span
|
|
132
130
|
class="css-1xnclyu"
|
|
@@ -150,7 +148,6 @@ exports[`getServerSideProps Homepage 1`] = `
|
|
|
150
148
|
aria-label="Section Three Link"
|
|
151
149
|
class="css-1ulbpfm"
|
|
152
150
|
href="/section-three"
|
|
153
|
-
type="standalone"
|
|
154
151
|
>
|
|
155
152
|
<span
|
|
156
153
|
class="css-1xnclyu"
|
|
@@ -6,7 +6,7 @@ exports[`Article should render tile and sub title 1`] = `
|
|
|
6
6
|
class="css-1d2q07x"
|
|
7
7
|
>
|
|
8
8
|
<div
|
|
9
|
-
class="css-
|
|
9
|
+
class="css-w8ogm"
|
|
10
10
|
data-testid="NavigationPrimary"
|
|
11
11
|
>
|
|
12
12
|
<div
|
|
@@ -102,7 +102,6 @@ exports[`Article should render tile and sub title 1`] = `
|
|
|
102
102
|
aria-label="Section One Link"
|
|
103
103
|
class="css-1ulbpfm"
|
|
104
104
|
href="/section-one"
|
|
105
|
-
type="standalone"
|
|
106
105
|
>
|
|
107
106
|
<span
|
|
108
107
|
class="css-1xnclyu"
|
|
@@ -126,7 +125,6 @@ exports[`Article should render tile and sub title 1`] = `
|
|
|
126
125
|
aria-label="Section Two Link"
|
|
127
126
|
class="css-1ulbpfm"
|
|
128
127
|
href="/section-two"
|
|
129
|
-
type="standalone"
|
|
130
128
|
>
|
|
131
129
|
<span
|
|
132
130
|
class="css-1xnclyu"
|
|
@@ -150,7 +148,6 @@ exports[`Article should render tile and sub title 1`] = `
|
|
|
150
148
|
aria-label="Section Three Link"
|
|
151
149
|
class="css-1ulbpfm"
|
|
152
150
|
href="/section-three"
|
|
153
|
-
type="standalone"
|
|
154
151
|
>
|
|
155
152
|
<span
|
|
156
153
|
class="css-1xnclyu"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getTestDates } from '../../fixtures/testDates'
|
|
2
2
|
|
|
3
|
-
describe('Book a Holiday Stop', () => {
|
|
3
|
+
describe.skip('Book a Holiday Stop', () => {
|
|
4
4
|
beforeEach(() => {
|
|
5
5
|
cy.GetTnlAcsSession('tnl')
|
|
6
6
|
cy.mockConsentAndVisit('/account/holiday-stop')
|
|
@@ -13,7 +13,7 @@ describe('Book a Holiday Stop', () => {
|
|
|
13
13
|
})
|
|
14
14
|
})
|
|
15
15
|
|
|
16
|
-
describe('Add a Holiday Stop', () => {
|
|
16
|
+
describe.skip('Add a Holiday Stop', () => {
|
|
17
17
|
beforeEach(() => {
|
|
18
18
|
cy.GetTnlAcsSession('tnl')
|
|
19
19
|
cy.mockConsentAndVisit('/account/add/holiday-stop')
|
|
@@ -52,7 +52,7 @@ describe('Add a Holiday Stop', () => {
|
|
|
52
52
|
})
|
|
53
53
|
})
|
|
54
54
|
|
|
55
|
-
describe('Upcoming Holiday Stops - edit button', () => {
|
|
55
|
+
describe.skip('Upcoming Holiday Stops - edit button', () => {
|
|
56
56
|
beforeEach(() => {
|
|
57
57
|
cy.GetTnlAcsSession('tnl')
|
|
58
58
|
cy.mockConsentAndVisit('/account/holiday-stop')
|
|
@@ -86,7 +86,7 @@ describe('Upcoming Holiday Stops - edit button', () => {
|
|
|
86
86
|
})
|
|
87
87
|
})
|
|
88
88
|
|
|
89
|
-
describe('Cancel Holiday Stop', () => {
|
|
89
|
+
describe.skip('Cancel Holiday Stop', () => {
|
|
90
90
|
beforeEach(() => {
|
|
91
91
|
cy.GetTnlAcsSession('tnl')
|
|
92
92
|
cy.mockConsentAndVisit('/account/holiday-stop')
|
|
@@ -1,33 +1,52 @@
|
|
|
1
1
|
describe('Newsletters page', () => {
|
|
2
2
|
beforeEach(() => {
|
|
3
3
|
cy.GetTnlAcsSession()
|
|
4
|
+
cy.mockConsent()
|
|
5
|
+
})
|
|
6
|
+
|
|
7
|
+
it('Should display all the newsletters on the newsletters page when user has a subscription', () => {
|
|
4
8
|
cy.mockConsentAndVisit('/account/newsletters')
|
|
9
|
+
cy.contains('Newsletters')
|
|
10
|
+
cy.contains(
|
|
11
|
+
'Exclusive content and a curated selection of our top stories straight to your inbox.'
|
|
12
|
+
)
|
|
13
|
+
cy.get('[data-testid="newsletters-grid"] > div > div').should(
|
|
14
|
+
'have.length',
|
|
15
|
+
23
|
|
16
|
+
)
|
|
5
17
|
})
|
|
6
18
|
|
|
7
|
-
it('Should display the newsletters page', () => {
|
|
19
|
+
it('Should only display selected newsletters on the newsletters page when user is registered', () => {
|
|
20
|
+
cy.GetTnlAcsSession('tnlNoSubscription')
|
|
21
|
+
cy.mockConsentAndVisit('/account/newsletters')
|
|
8
22
|
cy.contains('Newsletters')
|
|
9
23
|
cy.contains(
|
|
10
24
|
'Exclusive content and a curated selection of our top stories straight to your inbox.'
|
|
11
25
|
)
|
|
12
|
-
cy.get('[data-testid="newsletters-grid"] > div').should(
|
|
26
|
+
cy.get('[data-testid="newsletters-grid"] > div > div').should(
|
|
27
|
+
'have.length',
|
|
28
|
+
6
|
|
29
|
+
)
|
|
13
30
|
})
|
|
14
31
|
|
|
15
32
|
it('Should display all required newsletter text in the first grid card', () => {
|
|
16
|
-
cy.
|
|
33
|
+
cy.mockConsentAndVisit('/account/newsletters')
|
|
34
|
+
cy.get('[data-testid="newsletters-grid-featured"]').then(($parentDiv) => {
|
|
17
35
|
const firstNewsletter = $parentDiv.find('div:first-child')
|
|
18
36
|
|
|
19
|
-
cy.wrap(firstNewsletter).contains('
|
|
37
|
+
cy.wrap(firstNewsletter).contains('Daily Briefing').should('be.visible')
|
|
20
38
|
cy.wrap(firstNewsletter).contains('Daily').should('be.visible')
|
|
21
39
|
cy.wrap(firstNewsletter)
|
|
22
40
|
.contains(
|
|
23
|
-
|
|
41
|
+
'Our flagship newsletter with our top stories and exclusive analysis every morning.'
|
|
24
42
|
)
|
|
25
43
|
.should('be.visible')
|
|
26
44
|
})
|
|
27
45
|
})
|
|
28
46
|
|
|
29
47
|
it('Should successfully subscribe to a newsletter', () => {
|
|
30
|
-
cy.
|
|
48
|
+
cy.mockConsentAndVisit('/account/newsletters')
|
|
49
|
+
cy.get('[data-testid="newsletters-grid-featured"]').then(($parentDiv) => {
|
|
31
50
|
cy.intercept('POST', '/api/account/mutate', { statusCode: 200, ok: true })
|
|
32
51
|
|
|
33
52
|
const firstNewsletter = $parentDiv.find('div:first-child')
|
|
@@ -40,13 +59,14 @@ describe('Newsletters page', () => {
|
|
|
40
59
|
|
|
41
60
|
cy.contains(
|
|
42
61
|
'[data-testid="toast-container"]',
|
|
43
|
-
'Thank you, you are now signed up to the
|
|
62
|
+
'Thank you, you are now signed up to the Daily Briefing newsletter'
|
|
44
63
|
)
|
|
45
64
|
})
|
|
46
65
|
})
|
|
47
66
|
|
|
48
67
|
it('Should show the error toast on server error', () => {
|
|
49
|
-
cy.
|
|
68
|
+
cy.mockConsentAndVisit('/account/newsletters')
|
|
69
|
+
cy.get('[data-testid="newsletters-grid-featured"]').then(($parentDiv) => {
|
|
50
70
|
cy.intercept('POST', '/api/account/mutate', {
|
|
51
71
|
statusCode: 500,
|
|
52
72
|
ok: false,
|
|
@@ -62,7 +82,7 @@ describe('Newsletters page', () => {
|
|
|
62
82
|
|
|
63
83
|
cy.contains(
|
|
64
84
|
'[data-testid="toast-container"]',
|
|
65
|
-
'Sorry we were unable to sign you up to the
|
|
85
|
+
'Sorry we were unable to sign you up to the Daily Briefing newsletter, please try again'
|
|
66
86
|
)
|
|
67
87
|
})
|
|
68
88
|
})
|
|
@@ -868,7 +868,9 @@ describe('Personal detail edit pages', () => {
|
|
|
868
868
|
cy.get('[data-testid="select-country"]').click()
|
|
869
869
|
cy.get('[data-testid="United Kingdom"]').should('be.visible')
|
|
870
870
|
|
|
871
|
-
cy.get('[data-testid="
|
|
871
|
+
cy.get('[data-testid="select-panel"]').within(() => {
|
|
872
|
+
cy.get('[data-testid="United States of America"]').click()
|
|
873
|
+
})
|
|
872
874
|
|
|
873
875
|
cy.contains('Save').click()
|
|
874
876
|
|
|
@@ -981,7 +983,9 @@ describe('Personal detail edit pages', () => {
|
|
|
981
983
|
cy.get('[data-testid="select-country"]').click()
|
|
982
984
|
cy.get('[data-testid="United Kingdom"]').should('be.visible')
|
|
983
985
|
|
|
984
|
-
cy.get('[data-testid="
|
|
986
|
+
cy.get('[data-testid="select-panel"]').within(() => {
|
|
987
|
+
cy.get('[data-testid="United States of America"]').click()
|
|
988
|
+
})
|
|
985
989
|
|
|
986
990
|
cy.contains('Save').click()
|
|
987
991
|
|
|
@@ -1022,6 +1026,12 @@ describe('Personal detail edit pages', () => {
|
|
|
1022
1026
|
cy.get('input[name="county"]').type('North Yorkshire')
|
|
1023
1027
|
cy.get('input[name="postcode"]').clear()
|
|
1024
1028
|
cy.get('input[name="postcode"]').type('YO1 6DJ')
|
|
1029
|
+
cy.get('[data-testid="select-country"]').click()
|
|
1030
|
+
cy.get('[data-testid="United Kingdom"]').should('be.visible')
|
|
1031
|
+
|
|
1032
|
+
cy.get('[data-testid="select-panel"]').within(() => {
|
|
1033
|
+
cy.get('[data-testid="United Kingdom"]').click()
|
|
1034
|
+
})
|
|
1025
1035
|
|
|
1026
1036
|
cy.contains('Save').click()
|
|
1027
1037
|
|
|
@@ -1059,6 +1069,10 @@ describe('Personal detail edit pages', () => {
|
|
|
1059
1069
|
cy.get('input[name="city"]').type('London')
|
|
1060
1070
|
cy.get('input[name="postcode"]').clear()
|
|
1061
1071
|
cy.get('input[name="postcode"]').type('SE1')
|
|
1072
|
+
cy.get('[data-testid="select-country"]').click()
|
|
1073
|
+
cy.get('[data-testid="select-panel"]').within(() => {
|
|
1074
|
+
cy.get('[data-testid="United Kingdom"]').click()
|
|
1075
|
+
})
|
|
1062
1076
|
|
|
1063
1077
|
cy.contains('Save').click()
|
|
1064
1078
|
|
|
@@ -134,18 +134,18 @@ describe('Subscription and billing details for Digital user', () => {
|
|
|
134
134
|
cy.contains('[data-testid="ContentListIntroduction"]', 'Billing details')
|
|
135
135
|
cy.contains('Payment method')
|
|
136
136
|
cy.get('[data-testid="visa-icon"]').should('exist')
|
|
137
|
-
cy.contains('************
|
|
138
|
-
cy.contains('expiry date
|
|
137
|
+
cy.contains('************4242')
|
|
138
|
+
cy.contains('expiry date 02/27')
|
|
139
139
|
})
|
|
140
140
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
cy.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
141
|
+
// Section no longer displayed when Invoice history is empty due to graphql change
|
|
142
|
+
// Invoices are no longer fetched if older than 1 year
|
|
143
|
+
// This test would periodically fail as it depends on changing user data
|
|
144
|
+
it('Should not display empty Invoice history section', () => {
|
|
145
|
+
cy.get('[data-testid="ContentListIntroduction"]').should(
|
|
146
|
+
'not.contain',
|
|
147
|
+
'Invoice history'
|
|
148
|
+
)
|
|
149
149
|
})
|
|
150
150
|
|
|
151
151
|
it('Should NOT display Your deliveries section', () => {
|
|
@@ -213,7 +213,7 @@ describe('Subscription and billing details for Print user', () => {
|
|
|
213
213
|
it('Should display Your deliveries section', () => {
|
|
214
214
|
cy.contains('[data-testid="ContentListIntroduction"]', 'Your deliveries')
|
|
215
215
|
cy.contains('Address')
|
|
216
|
-
cy.contains('Buckingham Palace, London, SW1A
|
|
216
|
+
cy.contains('Buckingham Palace, London, SW1A')
|
|
217
217
|
cy.contains('Delivery instructions')
|
|
218
218
|
cy.contains('On my doorstep')
|
|
219
219
|
cy.contains('Holiday Stops')
|
|
@@ -226,16 +226,6 @@ describe('Subscription and billing details for Print user', () => {
|
|
|
226
226
|
)
|
|
227
227
|
})
|
|
228
228
|
|
|
229
|
-
it('Should display Invoice history section', () => {
|
|
230
|
-
cy.contains('[data-testid="ContentListIntroduction"]', 'Invoice history')
|
|
231
|
-
cy.contains('Print pack')
|
|
232
|
-
cy.contains('24 Apr 2023')
|
|
233
|
-
cy.contains('Paid')
|
|
234
|
-
cy.get('a[data-testid="download-button"]')
|
|
235
|
-
.should('have.attr', 'href', '#')
|
|
236
|
-
.contains('View')
|
|
237
|
-
})
|
|
238
|
-
|
|
239
229
|
it('Should display Your deliveries section for users with vouchers', () => {
|
|
240
230
|
cy.GetTnlAcsSession('printVouchers')
|
|
241
231
|
cy.mockConsentAndVisit('/account/subscription-and-billing')
|
|
@@ -243,8 +233,6 @@ describe('Subscription and billing details for Print user', () => {
|
|
|
243
233
|
cy.contains('[data-testid="ContentListIntroduction"]', 'Your deliveries')
|
|
244
234
|
cy.contains('Address')
|
|
245
235
|
cy.contains('2 Tuke House, Cromwell Road, York, YO1 6DJ, North Yorkshire')
|
|
246
|
-
cy.contains('Delivery instructions')
|
|
247
|
-
cy.contains('On my doorstep')
|
|
248
236
|
cy.contains('Holiday Stops')
|
|
249
237
|
cy.contains(
|
|
250
238
|
'You can pause your print delivery at any time by adding a Holiday Stop to your account. Holiday Stops need to be booked before 16:00 GMT the day before you want to pause delivery.'
|
|
@@ -254,7 +242,7 @@ describe('Subscription and billing details for Print user', () => {
|
|
|
254
242
|
'If your voucher booklet hasn’t arrived within three days of your booklet start date, or you have any issues regarding your vouchers, please contact us.'
|
|
255
243
|
)
|
|
256
244
|
cy.contains('Voucher booklet start date')
|
|
257
|
-
cy.contains('
|
|
245
|
+
cy.contains('20/09/2022')
|
|
258
246
|
cy.contains(
|
|
259
247
|
'Your contact address will be used for any of your deliveries. This can be managed via Personal details'
|
|
260
248
|
)
|
|
@@ -277,16 +265,6 @@ describe('Subscription and billing details for Digi-Print user', () => {
|
|
|
277
265
|
cy.contains('Digi-Print')
|
|
278
266
|
//...rest is same as Print user
|
|
279
267
|
})
|
|
280
|
-
|
|
281
|
-
it('Should display Invoice history section', () => {
|
|
282
|
-
cy.contains('[data-testid="ContentListIntroduction"]', 'Invoice history')
|
|
283
|
-
cy.contains('Digi-Print pack')
|
|
284
|
-
cy.contains('12 Nov 2023')
|
|
285
|
-
cy.contains('Paid')
|
|
286
|
-
cy.get('a[data-testid="download-button"]')
|
|
287
|
-
.should('have.attr', 'href', '#')
|
|
288
|
-
.contains('View')
|
|
289
|
-
})
|
|
290
268
|
})
|
|
291
269
|
|
|
292
270
|
describe('Subscription and billing details for Paypal user', () => {
|
|
@@ -302,14 +280,6 @@ describe('Subscription and billing details for Paypal user', () => {
|
|
|
302
280
|
cy.get('[data-testid="paypal-icon"]').should('exist')
|
|
303
281
|
cy.contains('cmp.paypal.user.verified.test@news.co.uk')
|
|
304
282
|
})
|
|
305
|
-
|
|
306
|
-
it('Should show inline banner for Paypal subscription', () => {
|
|
307
|
-
cy.get('a[href="/account/payment"]').should('be.visible').click()
|
|
308
|
-
cy.contains(
|
|
309
|
-
'[data-testid="Zuora-inline"]',
|
|
310
|
-
'To update your Paypal credentials, please speak to one of our advisors on xxxx-xxx-xxxx or add a new payment method via credit/debit card using the form below.'
|
|
311
|
-
)
|
|
312
|
-
})
|
|
313
283
|
})
|
|
314
284
|
|
|
315
285
|
describe('Subscription and billing edit pages', () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//Note: Check periodically if these consent cookie values
|
|
1
|
+
//Note: Check periodically if these consent cookie values expire
|
|
2
2
|
import _ from 'lodash'
|
|
3
3
|
import {
|
|
4
4
|
consentUUIDValue,
|
|
@@ -36,13 +36,13 @@ Cypress.Commands.add('GetAcsSession', (user = 'default') => {
|
|
|
36
36
|
|
|
37
37
|
cy.request({
|
|
38
38
|
method: 'POST',
|
|
39
|
-
url: 'https://login.staging-thesun.
|
|
39
|
+
url: 'https://login.staging-thesun.co.uk/services/session',
|
|
40
40
|
headers: {
|
|
41
41
|
'Content-Type': 'application/vnd.newsuk.acs.createsession-v1+json',
|
|
42
42
|
},
|
|
43
43
|
body: {
|
|
44
44
|
rememberMe: false,
|
|
45
|
-
gotoUrl: 'https://login.staging-thesun.
|
|
45
|
+
gotoUrl: 'https://login.staging-thesun.co.uk/',
|
|
46
46
|
sso: false,
|
|
47
47
|
authCredentials: {
|
|
48
48
|
username,
|
package/cypress/support/users.js
CHANGED
|
@@ -22,37 +22,41 @@ export const userMap = {
|
|
|
22
22
|
},
|
|
23
23
|
tnl: {
|
|
24
24
|
username: 'cmp1aug2022printstag@yopmail.com', //Print user
|
|
25
|
-
password: '
|
|
25
|
+
password: 'Password123Testing123$',
|
|
26
26
|
},
|
|
27
27
|
digitalCard: {
|
|
28
28
|
//dtc=false
|
|
29
29
|
username: 'cmp-digi-card-20-09-22@yopmail.com',
|
|
30
|
-
password: '
|
|
30
|
+
password: 'Password123Testing123$',
|
|
31
31
|
},
|
|
32
32
|
digitalDirectDebit: {
|
|
33
33
|
//dtc=false
|
|
34
34
|
username: 'cmp-digi-direct-20-09-22@yopmail.com',
|
|
35
|
-
password: '
|
|
35
|
+
password: 'Password123Testing123$',
|
|
36
36
|
},
|
|
37
37
|
print: {
|
|
38
38
|
//dtc=true
|
|
39
39
|
username: 'cmp-dtc-card-20-09-22@yopmail.com',
|
|
40
|
-
password: '
|
|
40
|
+
password: 'Password123Testing123$',
|
|
41
41
|
},
|
|
42
42
|
printVouchers: {
|
|
43
43
|
//dtc=false
|
|
44
44
|
username: 'cmp-test-direct-20-09-22@yopmail.com',
|
|
45
|
-
password: '
|
|
45
|
+
password: 'Password123Testing123$',
|
|
46
46
|
},
|
|
47
47
|
digiprint: {
|
|
48
48
|
//dtc=true
|
|
49
49
|
username: 'digi-print.dtc.test@yopmail.com',
|
|
50
|
-
password: '
|
|
50
|
+
password: 'Password123Testing123$',
|
|
51
51
|
},
|
|
52
52
|
digiprintVouchers: {
|
|
53
53
|
//dtc=false
|
|
54
54
|
username: 'digi-print-card-15-11-22@yopmail.com',
|
|
55
|
-
password: '
|
|
55
|
+
password: 'Password123Testing123$',
|
|
56
56
|
},
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
tnlNoSubscription: {
|
|
58
|
+
//registered user with no subscription, tests the number of newsletters displayed
|
|
59
|
+
username: 'tm-test+staging-registered-user@news.co.uk',
|
|
60
|
+
password: 'Growth123',
|
|
61
|
+
},
|
|
62
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getProviderProps,
|
|
3
|
+
getProviderPropsTimes,
|
|
4
|
+
} from '@newskit-render/my-account'
|
|
5
|
+
import { publisher } from '../config'
|
|
6
|
+
|
|
7
|
+
export const getProviderPropsUtil = (context, options?) => {
|
|
8
|
+
if (process.env.NODE_ENV === 'development' && publisher === 'TIMES') {
|
|
9
|
+
return getProviderPropsTimes({
|
|
10
|
+
context,
|
|
11
|
+
options: {
|
|
12
|
+
...options,
|
|
13
|
+
},
|
|
14
|
+
})
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return getProviderProps(context, {
|
|
18
|
+
...options,
|
|
19
|
+
})
|
|
20
|
+
}
|
package/next.config.js
CHANGED
|
@@ -29,67 +29,65 @@ module.exports = (phase) => {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const path = require('path')
|
|
32
|
-
const withTM = require('next-transpile-modules')([
|
|
33
|
-
'@newskit-render/auth',
|
|
34
|
-
'@newskit-render/my-account',
|
|
35
|
-
'@newskit-render/validation',
|
|
36
|
-
])
|
|
37
32
|
const withBundleAnalyzer = require('@next/bundle-analyzer')({
|
|
38
33
|
enabled: process.env.ANALYZE === 'true',
|
|
39
34
|
})
|
|
40
35
|
|
|
41
|
-
return withBundleAnalyzer(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
36
|
+
return withBundleAnalyzer({
|
|
37
|
+
transpilePackages: [
|
|
38
|
+
'@newskit-render/auth',
|
|
39
|
+
'@newskit-render/my-account',
|
|
40
|
+
'@newskit-render/validation',
|
|
41
|
+
],
|
|
42
|
+
webpack: (config, options) => {
|
|
43
|
+
if (options.isServer) {
|
|
44
|
+
config.externals = ['react', ...config.externals]
|
|
45
|
+
}
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
47
|
+
config.resolve.alias.newskit = path.resolve(
|
|
48
|
+
__dirname,
|
|
49
|
+
'.',
|
|
50
|
+
'node_modules',
|
|
51
|
+
'newskit'
|
|
52
|
+
)
|
|
53
|
+
config.resolve.alias.react = path.resolve(
|
|
54
|
+
__dirname,
|
|
55
|
+
'.',
|
|
56
|
+
'node_modules',
|
|
57
|
+
'react'
|
|
58
|
+
)
|
|
60
59
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
)
|
|
60
|
+
return config
|
|
61
|
+
},
|
|
62
|
+
images,
|
|
63
|
+
output: 'standalone',
|
|
64
|
+
async rewrites() {
|
|
65
|
+
return [
|
|
66
|
+
{
|
|
67
|
+
source: '/sitemap.xml',
|
|
68
|
+
destination: '/api/sitemap',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
source: '/pages-sitemap.xml',
|
|
72
|
+
destination: '/api/pages-sitemap',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
source: '/competitions-sitemap.xml',
|
|
76
|
+
destination: '/api/competitions-sitemap',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
source: '/news-sitemap.xml',
|
|
80
|
+
destination: '/api/news-sitemap',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
source: '/feed',
|
|
84
|
+
destination: '/api/feed',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
source: '/robots.txt',
|
|
88
|
+
destination: '/api/robots',
|
|
89
|
+
},
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
})
|
|
95
93
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@newskit-render/core",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-e314136b0",
|
|
4
4
|
"description": "Newskit Render - Core package",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -42,21 +42,21 @@
|
|
|
42
42
|
"@emotion/styled": "11.9.3",
|
|
43
43
|
"@newrelic/next": "0.5.2",
|
|
44
44
|
"@newrelic/winston-enricher": "4.0.1",
|
|
45
|
-
"@newskit-render/api": "^1.
|
|
46
|
-
"@newskit-render/auth": "^1.8.
|
|
47
|
-
"@newskit-render/checkout": "^3.
|
|
48
|
-
"@newskit-render/feature-flags": "^1.
|
|
49
|
-
"@newskit-render/feed": "^1.8.
|
|
50
|
-
"@newskit-render/my-account": "^7.
|
|
51
|
-
"@newskit-render/shared-components": "^4.
|
|
52
|
-
"@newskit-render/standalone-components": "^3.
|
|
53
|
-
"@newskit-render/validation": "^1.
|
|
45
|
+
"@newskit-render/api": "^1.16.3",
|
|
46
|
+
"@newskit-render/auth": "^1.8.22",
|
|
47
|
+
"@newskit-render/checkout": "^3.10.59",
|
|
48
|
+
"@newskit-render/feature-flags": "^1.11.19",
|
|
49
|
+
"@newskit-render/feed": "^1.8.38",
|
|
50
|
+
"@newskit-render/my-account": "^7.109.0",
|
|
51
|
+
"@newskit-render/shared-components": "^4.47.12",
|
|
52
|
+
"@newskit-render/standalone-components": "^3.25.29",
|
|
53
|
+
"@newskit-render/validation": "^1.19.19",
|
|
54
54
|
"cross-fetch": "3.1.5",
|
|
55
55
|
"graphql": "16.6.0",
|
|
56
56
|
"lodash.get": "4.4.2",
|
|
57
57
|
"newrelic": "10.6.1",
|
|
58
58
|
"newskit": "7.7.0",
|
|
59
|
-
"next": "13.
|
|
59
|
+
"next": "13.5.10",
|
|
60
60
|
"react": "18.2.0",
|
|
61
61
|
"react-dom": "18.2.0",
|
|
62
62
|
"react-helmet": "6.1.0",
|
|
@@ -100,11 +100,10 @@
|
|
|
100
100
|
"jest-junit": "15.0.0",
|
|
101
101
|
"jest-watch-typeahead": "2.2.1",
|
|
102
102
|
"lint-staged": "13.1.0",
|
|
103
|
-
"next-transpile-modules": "10.0.0",
|
|
104
103
|
"prettier": "2.8.3",
|
|
105
104
|
"prettier-eslint": "15.0.1",
|
|
106
105
|
"prettier-eslint-cli": "7.1.0",
|
|
107
|
-
"typescript": "
|
|
106
|
+
"typescript": "5.6.3",
|
|
108
107
|
"wait-on": "7.0.1"
|
|
109
108
|
},
|
|
110
109
|
"precommit": [
|
|
@@ -3,6 +3,8 @@ import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
|
|
|
3
3
|
import { AddField, addComponentMap } from '@newskit-render/my-account'
|
|
4
4
|
import validation from '../../../validation'
|
|
5
5
|
import { DynamicPage } from '@newskit-render/my-account'
|
|
6
|
+
import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
|
|
7
|
+
import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
|
|
6
8
|
|
|
7
9
|
const AccountAddField = (props) => (
|
|
8
10
|
<DynamicPage
|
|
@@ -28,7 +30,14 @@ export const getServerSideProps = async (context) => {
|
|
|
28
30
|
console.error(`An error ${context.res.statusCode} occurred on server`)
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
const featureFlags = await getAllFeatureFlags()
|
|
34
|
+
const providerProps = (await getProviderPropsUtil(
|
|
35
|
+
{ ...context, provider: 'AddField' },
|
|
36
|
+
{ featureFlags } /* cra-effected */
|
|
37
|
+
)) as unknown as { props: { data: { type: string } } }
|
|
38
|
+
|
|
39
|
+
if (providerProps?.props) {
|
|
40
|
+
providerProps.props = { ...providerProps.props, data: { type: field } }
|
|
33
41
|
}
|
|
42
|
+
return providerProps
|
|
34
43
|
}
|