@newskit-render/core 4.8.0-alpha.1 → 4.8.0-alpha.3

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/README.md CHANGED
@@ -258,14 +258,14 @@ export { AppContextProvider, AppContext }
258
258
  You may see some lines of code that have comments next to them:
259
259
 
260
260
  ```
261
- code here /* cra-effected */
261
+ code here. /* cra-effected */
262
262
  ```
263
263
 
264
264
  Or around them:
265
265
 
266
266
  ```
267
267
  /* start cra-effected */
268
- code here
268
+ code here.
269
269
  /* end cra-effected */
270
270
  ```
271
271
 
@@ -18,7 +18,7 @@ export const paymentMethodContext = {
18
18
  items: [
19
19
  {
20
20
  label: 'Debit/Credit Card',
21
- href: '[baseURL]/payment',
21
+ href: '[baseURL]/payment/credit-card',
22
22
  default: 'Debit/Credit Card',
23
23
  labelIcon: {
24
24
  Icon: IconCreditCard,
@@ -33,7 +33,7 @@ export const paymentMethodContext = {
33
33
  },
34
34
  {
35
35
  label: 'Direct Debit',
36
- href: '[baseURL]/payment-direct-debit',
36
+ href: '[baseURL]/payment/direct-debit',
37
37
  default: 'Direct Debit',
38
38
  labelIcon: {
39
39
  Icon: IconDirectDebit,
@@ -6,15 +6,54 @@ describe('My account Payment methods page', () => {
6
6
 
7
7
  it('should show payment options', () => {
8
8
  cy.get('[data-testid="content-list-item-0"]')
9
- .should('have.attr', 'href', '/account/payment')
9
+ .should('have.attr', 'href', '/account/payment/credit-card')
10
10
  .contains('Debit/Credit Card')
11
11
 
12
12
  cy.get('[data-testid="content-list-item-1"]')
13
- .should('have.attr', 'href', '/account/payment-direct-debit')
13
+ .should('have.attr', 'href', '/account/payment/direct-debit')
14
14
  .contains('Direct Debit')
15
15
  })
16
16
  })
17
17
 
18
+ describe('My account credit card payment method page', () => {
19
+ beforeEach(() => {
20
+ cy.mockConsentAndVisit('/account/payment/credit-card')
21
+ })
22
+
23
+ it('should load the zuora iFrame', () => {
24
+ cy.get('iframe').should('exist')
25
+ })
26
+ it('should show the credit card payment page title', () => {
27
+ cy.get('[data-testid="introduction-title"]').contains('Debit/Credit Card')
28
+ })
29
+ })
30
+ describe('My account direct debit payment method page', () => {
31
+ beforeEach(() => {
32
+ cy.mockConsentAndVisit('/account/payment/direct-debit')
33
+ })
34
+
35
+ it('should load the zuora iFrame', () => {
36
+ cy.get('iframe').should('exist')
37
+ })
38
+ it('should show the credit card payment page title', () => {
39
+ cy.get('[data-testid="introduction-title"]').contains(
40
+ 'Set up a Direct Debit'
41
+ )
42
+ })
43
+ })
44
+ describe('My account /payment when used without payment method', () => {
45
+ beforeEach(() => {
46
+ cy.mockConsentAndVisit('/account/payment')
47
+ })
48
+ it('should load the Zuora iframe', () => {
49
+ cy.get('iframe').should('exist')
50
+ })
51
+ it('should show the generic payment page - the Zuora credit card iframe', () => {
52
+ cy.get('[data-testid="introduction-title"]').contains(
53
+ 'Edit your payment method'
54
+ )
55
+ })
56
+ })
18
57
  // describe('My account Payment page', () => {
19
58
  // beforeEach(() => {
20
59
  // cy.mockConsentAndVisit('/account/payment')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newskit-render/core",
3
- "version": "4.8.0-alpha.1",
3
+ "version": "4.8.0-alpha.3",
4
4
  "description": "Newskit Render - Core package",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -41,12 +41,12 @@
41
41
  "@emotion/styled": "11.9.3",
42
42
  "@newskit-render/api": "^1.6.8",
43
43
  "@newskit-render/auth": "^1.4.0",
44
- "@newskit-render/checkout": "^3.3.4-alpha.0",
44
+ "@newskit-render/checkout": "^3.3.4-alpha.1",
45
45
  "@newskit-render/feature-flags": "^1.4.11",
46
46
  "@newskit-render/feed": "^1.5.0",
47
- "@newskit-render/my-account": "^6.10.0-alpha.0",
48
- "@newskit-render/shared-components": "^3.13.0-alpha.0",
49
- "@newskit-render/standalone-components": "^3.10.2-alpha.0",
47
+ "@newskit-render/my-account": "^6.10.0-alpha.1",
48
+ "@newskit-render/shared-components": "^3.13.0-alpha.1",
49
+ "@newskit-render/standalone-components": "^3.10.2-alpha.1",
50
50
  "@newskit-render/validation": "^1.8.1",
51
51
  "@next/font": "13.1.6",
52
52
  "cross-fetch": "3.1.5",
@@ -1,18 +1,18 @@
1
1
  import React from 'react'
2
2
  import newrelic from 'newrelic'
3
- import { AddField, NotFound, addComponentMap } from '@newskit-render/my-account'
3
+ import { AddField, addComponentMap } from '@newskit-render/my-account'
4
4
  import validation from '../../../validation'
5
+ import { DynamicPage } from '@newskit-render/my-account'
5
6
 
6
- const AccountAddField = (props) => {
7
- const doesAddPageExist = Object.keys(addComponentMap).includes(
8
- props.data.type
9
- )
10
-
11
- if (doesAddPageExist) {
12
- return <AddField {...props} validation={validation} />
13
- }
14
- return <NotFound />
15
- }
7
+ const AccountAddField = (props) => (
8
+ <DynamicPage
9
+ objectMap={addComponentMap}
10
+ pageName={props.data.type}
11
+ Component={AddField}
12
+ componentProps={props}
13
+ validation={validation}
14
+ />
15
+ )
16
16
 
17
17
  export default AccountAddField
18
18
  export const getServerSideProps = async (context) => {
@@ -3,23 +3,22 @@ import newrelic from 'newrelic'
3
3
  import {
4
4
  EditField,
5
5
  getProviderProps,
6
- NotFound,
7
6
  editComponentMap,
7
+ DynamicPage,
8
8
  } from '@newskit-render/my-account'
9
9
  import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' /* cra-effected */
10
10
  import { optimizelysdkKey } from '../../../config' /* cra-effected */
11
11
  import validation from '../../../validation'
12
12
 
13
- const AccountEditField = (props) => {
14
- const doesEditPageExist = Object.keys(editComponentMap).includes(
15
- props.data.type
16
- )
17
-
18
- if (doesEditPageExist) {
19
- return <EditField {...props} validation={validation} />
20
- }
21
- return <NotFound />
22
- }
13
+ const AccountEditField = (props) => (
14
+ <DynamicPage
15
+ objectMap={editComponentMap}
16
+ pageName={props.data.type}
17
+ Component={EditField}
18
+ componentProps={props}
19
+ validation={validation}
20
+ />
21
+ )
23
22
 
24
23
  export default AccountEditField
25
24
 
@@ -0,0 +1,38 @@
1
+ import React from 'react'
2
+ import newrelic from 'newrelic'
3
+ import {
4
+ getProviderProps,
5
+ Payment,
6
+ paymentMethodsMap,
7
+ DynamicPage,
8
+ } from '@newskit-render/my-account'
9
+ import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' /* cra-effected */
10
+ import { optimizelysdkKey } from '../../../config' /* cra-effected */
11
+
12
+ const PaymentPage = (props) => {
13
+ return (
14
+ <DynamicPage
15
+ objectMap={paymentMethodsMap}
16
+ pageName={props.paymentType}
17
+ Component={Payment}
18
+ componentProps={props}
19
+ />
20
+ )
21
+ }
22
+
23
+ export default PaymentPage
24
+
25
+ export const getServerSideProps = async (context) => {
26
+ newrelic.setTransactionName('Payment method')
27
+ /* start cra-effected */
28
+ const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey)
29
+ /* end cra-effected */
30
+
31
+ return getProviderProps(
32
+ {
33
+ ...context,
34
+ provider: 'Payment',
35
+ },
36
+ { featureFlags } /* cra-effected */
37
+ )
38
+ }
@@ -1,16 +1,12 @@
1
1
  import React from 'react'
2
2
  import newrelic from 'newrelic'
3
- import {
4
- Payment,
5
- getProviderProps,
6
- PaymentProvider,
7
- } from '@newskit-render/my-account'
3
+ import { Payment, getProviderProps } from '@newskit-render/my-account'
8
4
  import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' /* cra-effected */
9
5
  import { optimizelysdkKey } from '../../../config' /* cra-effected */
10
6
 
11
- const AccountCancellation = (props) => <Payment {...props} />
7
+ const AccountPayment = (props) => <Payment {...props} />
12
8
 
13
- export default AccountCancellation
9
+ export default AccountPayment
14
10
 
15
11
  export const getServerSideProps = async (context) => {
16
12
  newrelic.setTransactionName('Edit Payment method')
@@ -22,7 +18,6 @@ export const getServerSideProps = async (context) => {
22
18
  {
23
19
  ...context,
24
20
  provider: 'Payment',
25
- paymentProvider: PaymentProvider.Zuora,
26
21
  },
27
22
  { featureFlags } /* cra-effected */
28
23
  )