diff --git a/content/messages/US/long_term_multi_eqz.json b/content/messages/US/long_term_multi_eqz.json index 2b813fcf73..4eef7ec6b4 100644 --- a/content/messages/US/long_term_multi_eqz.json +++ b/content/messages/US/long_term_multi_eqz.json @@ -19,7 +19,12 @@ "headline": [ ["Buy now, pay later.", ["default", "xsmall"]], ["Buy now and pay later.", ["xsmall.2"]], - [["As low as ${formattedMonthlyPayment}/mo at 0% APR."], ["small", "medium", "large", "xlarge"]] + [ + [ + "As low as ${formattedMonthlyPayment}/month at 0% APR." + ], + ["small", "medium", "large", "xlarge"] + ] ], "subHeadline": [], "disclaimer": [[" Learn more", ["default"]]] diff --git a/content/messages/US/long_term_multi_eqz_mixed.json b/content/messages/US/long_term_multi_eqz_mixed.json index 6f3f28b6dd..7ca1540de7 100644 --- a/content/messages/US/long_term_multi_eqz_mixed.json +++ b/content/messages/US/long_term_multi_eqz_mixed.json @@ -19,7 +19,12 @@ "headline": [ ["Buy now, pay later.", ["default", "xsmall"]], ["Buy now and pay later.", ["xsmall.2"]], - [["As low as ${formattedMonthlyPayment}/mo or 0% APR."], ["small", "medium", "large", "xlarge"]] + [ + [ + "As low as ${formattedMonthlyPayment}/month or 0% APR." + ], + ["small", "medium", "large", "xlarge"] + ] ], "subHeadline": [], "disclaimer": [[" Learn more", ["default"]]] diff --git a/content/messages/US/long_term_multi_gtz.json b/content/messages/US/long_term_multi_gtz.json index 3e11a81d19..cd14338274 100644 --- a/content/messages/US/long_term_multi_gtz.json +++ b/content/messages/US/long_term_multi_gtz.json @@ -19,7 +19,12 @@ "headline": [ ["Buy now, pay later.", ["default", "xsmall"]], ["Buy now and pay later.", ["xsmall.2"]], - [["As low as ${formattedMonthlyPayment}/mo."], ["small", "medium", "large", "xlarge"]] + [ + [ + "As low as ${formattedMonthlyPayment}/month." + ], + ["small", "medium", "large", "xlarge"] + ] ], "subHeadline": [], "disclaimer": [[" Learn more", ["default"]]] diff --git a/content/messages/US/long_term_single_eqz.json b/content/messages/US/long_term_single_eqz.json index ba34200436..0949541c25 100644 --- a/content/messages/US/long_term_single_eqz.json +++ b/content/messages/US/long_term_single_eqz.json @@ -20,7 +20,9 @@ ["Buy now, pay later.", ["default", "xsmall"]], ["Buy now and pay later.", ["xsmall.2"]], [ - ["Make ${total_payments} payments of ${formattedMonthlyPayment}/mo at 0% APR."], + [ + "Make ${total_payments} payments of ${formattedMonthlyPayment}/month at 0% APR." + ], ["small", "medium", "large", "xlarge"] ] ], diff --git a/content/messages/US/long_term_single_eqz_mixed.json b/content/messages/US/long_term_single_eqz_mixed.json index 0e518c5f14..903312b361 100644 --- a/content/messages/US/long_term_single_eqz_mixed.json +++ b/content/messages/US/long_term_single_eqz_mixed.json @@ -20,7 +20,9 @@ ["Buy now, pay later.", ["default", "xsmall"]], ["Buy now and pay later.", ["xsmall.2"]], [ - ["Make ${total_payments} payments of ${formattedMonthlyPayment}/mo or 0% APR."], + [ + "Make ${total_payments} payments of ${formattedMonthlyPayment}/month or 0% APR." + ], ["small", "medium", "large", "xlarge"] ] ], diff --git a/content/messages/US/long_term_single_gtz.json b/content/messages/US/long_term_single_gtz.json index 94b80ecfe7..8915106857 100644 --- a/content/messages/US/long_term_single_gtz.json +++ b/content/messages/US/long_term_single_gtz.json @@ -19,7 +19,12 @@ "headline": [ ["Buy now, pay later.", ["default", "xsmall"]], ["Buy now and pay later.", ["xsmall.2"]], - [["Make ${total_payments} payments of ${formattedMonthlyPayment}/mo."], ["small", "medium", "large", "xlarge"]] + [ + [ + "Make ${total_payments} payments of ${formattedMonthlyPayment}/month." + ], + ["small", "medium", "large", "xlarge"] + ] ], "subHeadline": [], "disclaimer": [[" Learn more", ["default"]]] diff --git a/content/messages/US/ppc_ezp_multi_eqz.json b/content/messages/US/ppc_ezp_multi_eqz.json index bbc6a39606..b934bf676e 100644 --- a/content/messages/US/ppc_ezp_multi_eqz.json +++ b/content/messages/US/ppc_ezp_multi_eqz.json @@ -15,11 +15,18 @@ }, "headline": [ [ - [["As low as", "weak"], "{formattedMonthlyPayment}/mo.", ["at 0% APR.", "weakest"]], + [ + ["As low as", "weak"], + "{formattedMonthlyPayment}/month.", + ["at 0% APR.", "weakest"] + ], ["default", "small"] ], [ - [["Pay as low as", "weak"], "{formattedMonthlyPayment}/mo. at 0% APR"], + [ + ["Pay as low as", "weak"], + "{formattedMonthlyPayment}/month. at 0% APR" + ], ["small.2", "medium", "large", "xlarge"] ], ["Enjoy Easy Payments.", ["legacy-small"]], diff --git a/content/messages/US/ppc_ezp_multi_gtz.json b/content/messages/US/ppc_ezp_multi_gtz.json index fd5675ecee..d0ad93f775 100644 --- a/content/messages/US/ppc_ezp_multi_gtz.json +++ b/content/messages/US/ppc_ezp_multi_gtz.json @@ -15,11 +15,17 @@ }, "headline": [ [ - [["As low as", "weak"], "{formattedMonthlyPayment}/mo."], + [ + ["As low as", "weak"], + "{formattedMonthlyPayment}/month." + ], ["default", "xsmall"] ], [ - [["Pay as low as", "weak"], "{formattedMonthlyPayment}/mo."], + [ + ["Pay as low as", "weak"], + "{formattedMonthlyPayment}/month." + ], ["small", "medium", "large", "xlarge"] ], ["Enjoy Easy Payments.", ["legacy-xsmall"]] diff --git a/content/messages/US/ppc_ezp_single_eqz.json b/content/messages/US/ppc_ezp_single_eqz.json index 88930473be..7891deb379 100644 --- a/content/messages/US/ppc_ezp_single_eqz.json +++ b/content/messages/US/ppc_ezp_single_eqz.json @@ -15,7 +15,11 @@ }, "headline": [ [ - [["Make {total_payments} payments of", "weak"], "{formattedMonthlyPayment}/mo.", ["at 0% APR.", "weakest"]], + [ + ["Make {total_payments} payments of", "weak"], + "{formattedMonthlyPayment}/month.", + ["at 0% APR.", "weakest"] + ], ["default", "small"] ], ["Enjoy Easy Payments.", ["legacy-xsmall"]], diff --git a/content/messages/US/ppc_ezp_single_gtz.json b/content/messages/US/ppc_ezp_single_gtz.json index a765539b11..53ea1ec7e2 100644 --- a/content/messages/US/ppc_ezp_single_gtz.json +++ b/content/messages/US/ppc_ezp_single_gtz.json @@ -15,7 +15,10 @@ }, "headline": [ [ - [["Make {total_payments} payments of", "weak"], "{formattedMonthlyPayment}/mo."], + [ + ["Make {total_payments} payments of", "weak"], + "{formattedMonthlyPayment}/month." + ], ["default", "small"] ], ["Enjoy Easy Payments.", ["legacy-xsmall"]] diff --git a/content/offers/US/v2_long_term.json b/content/offers/US/v2_long_term.json index 4828146e41..ca81881bb2 100644 --- a/content/offers/US/v2_long_term.json +++ b/content/offers/US/v2_long_term.json @@ -39,7 +39,7 @@ "nonZeroAPR": "*APR is 9.99% to 29.99% based on your credit. Terms may vary based on purchase amount." }, "termsLabel": { - "offerHeader": "{formattedPeriodicPayment}/mo. for {total_payments} months", + "offerHeader": "{formattedPeriodicPayment}/month. for {total_payments} months", "zeroApr": "APR", "nonZeroApr": "Estimated APR, see star for more details below.", "totalInterest": "Interest", diff --git a/src/components/modal/v2/parts/OfferCard.jsx b/src/components/modal/v2/parts/OfferCard.jsx index 685552dfa9..dfecb88381 100644 --- a/src/components/modal/v2/parts/OfferCard.jsx +++ b/src/components/modal/v2/parts/OfferCard.jsx @@ -5,11 +5,13 @@ const OfferCard = ({ offer: { content, meta } }) => { const { termsLabel } = content; const aprRemoveTrailingZeros = meta?.apr.replace(/\D00$/, ''); const aprFieldTitle = aprRemoveTrailingZeros === '0' ? termsLabel?.zeroApr : termsLabel?.nonZeroApr; + const offerHeaderField = termsLabel?.offerHeader; return (
- {termsLabel.offerHeader} + {/* eslint-disable-next-line react/no-danger */} +
diff --git a/src/server/locale/US/PAY_LATER_LONG_TERM/mutations/long_term_multi_gtz.js b/src/server/locale/US/PAY_LATER_LONG_TERM/mutations/long_term_multi_gtz.js index 21c2a2e8de..6583c46349 100644 --- a/src/server/locale/US/PAY_LATER_LONG_TERM/mutations/long_term_multi_gtz.js +++ b/src/server/locale/US/PAY_LATER_LONG_TERM/mutations/long_term_multi_gtz.js @@ -65,7 +65,7 @@ export default { headline: [ { tag: 'medium', - br: ['mo.', 'as'] + br: ['mo. ', 'as'] }, { tag: 'xsmall' diff --git a/tests/functional/snapshots/US/DEV0000000PMG/text/text.align-center-600-snap.png b/tests/functional/snapshots/US/DEV0000000PMG/text/text.align-center-600-snap.png index 073c0e82bd..c0226dea7b 100644 Binary files a/tests/functional/snapshots/US/DEV0000000PMG/text/text.align-center-600-snap.png and b/tests/functional/snapshots/US/DEV0000000PMG/text/text.align-center-600-snap.png differ diff --git a/tests/functional/snapshots/US/DEV0000000PMZ/text/text.align-center-600-snap.png b/tests/functional/snapshots/US/DEV0000000PMZ/text/text.align-center-600-snap.png index 3db1d6843e..a7b7dcd48c 100644 Binary files a/tests/functional/snapshots/US/DEV0000000PMZ/text/text.align-center-600-snap.png and b/tests/functional/snapshots/US/DEV0000000PMZ/text/text.align-center-600-snap.png differ diff --git a/tests/functional/snapshots/US/DEV0000000PSG/text/text.align-center-600-snap.png b/tests/functional/snapshots/US/DEV0000000PSG/text/text.align-center-600-snap.png index 4817e99c34..e21aa5abc3 100644 Binary files a/tests/functional/snapshots/US/DEV0000000PSG/text/text.align-center-600-snap.png and b/tests/functional/snapshots/US/DEV0000000PSG/text/text.align-center-600-snap.png differ diff --git a/tests/functional/snapshots/US/DEV0000000PSZ/text/text.align-center-600-snap.png b/tests/functional/snapshots/US/DEV0000000PSZ/text/text.align-center-600-snap.png index e67f238c77..39abdcbc90 100644 Binary files a/tests/functional/snapshots/US/DEV0000000PSZ/text/text.align-center-600-snap.png and b/tests/functional/snapshots/US/DEV0000000PSZ/text/text.align-center-600-snap.png differ diff --git a/tests/functional/snapshots/US/DEV00USLTMQGZ/text/logo.type-alternative_text.size-10-600-snap.png b/tests/functional/snapshots/US/DEV00USLTMQGZ/text/logo.type-alternative_text.size-10-600-snap.png index efeec5f582..4d61f5faa1 100644 Binary files a/tests/functional/snapshots/US/DEV00USLTMQGZ/text/logo.type-alternative_text.size-10-600-snap.png and b/tests/functional/snapshots/US/DEV00USLTMQGZ/text/logo.type-alternative_text.size-10-600-snap.png differ diff --git a/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none-600-snap.png b/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none-600-snap.png index a335974753..88bffffde7 100644 Binary files a/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none-600-snap.png and b/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none-600-snap.png differ diff --git a/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-grayscale-600-snap.png b/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-grayscale-600-snap.png index e945f831c7..44052e4f98 100644 Binary files a/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-grayscale-600-snap.png and b/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-grayscale-600-snap.png differ diff --git a/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-monochrome-600-snap.png b/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-monochrome-600-snap.png index ccd16862f2..d165cf5279 100644 Binary files a/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-monochrome-600-snap.png and b/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-monochrome-600-snap.png differ diff --git a/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-white-600-snap.png b/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-white-600-snap.png index c8c971d1dc..09a8dfa192 100644 Binary files a/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-white-600-snap.png and b/tests/functional/snapshots/US/DEV00USLTSQEZ/text/logo.type-none_text.color-white-600-snap.png differ diff --git a/tests/functional/snapshots/US/DEV00USLTSQEZ/text/text.align-right-600-snap.png b/tests/functional/snapshots/US/DEV00USLTSQEZ/text/text.align-right-600-snap.png index 0a14497f9d..e86c6e01a1 100644 Binary files a/tests/functional/snapshots/US/DEV00USLTSQEZ/text/text.align-right-600-snap.png and b/tests/functional/snapshots/US/DEV00USLTSQEZ/text/text.align-right-600-snap.png differ diff --git a/tests/functional/v2/testFn/longTerm.js b/tests/functional/v2/testFn/longTerm.js index d63108a221..e7634d06ee 100644 --- a/tests/functional/v2/testFn/longTerm.js +++ b/tests/functional/v2/testFn/longTerm.js @@ -46,7 +46,8 @@ export const showCorrectOfferInfo = async (contentWindow, modalContent, testName await contentWindow.waitForSelector(contentWrapper); await contentWindow.waitForSelector(`${offerRow}:first-child`); const offerFieldHeadline = await contentWindow.$eval(offerRow, element => element.innerText); - expect(offerFieldHeadline).toContain(modalContent.offerHeadline); + const newOfferFieldHeadline = offerFieldHeadline.replace('month.', '').replace(/\n/g, ''); + expect(newOfferFieldHeadline).toContain(modalContent.offerHeadline); await modalSnapshot(testName, contentWindow); }; @@ -79,7 +80,8 @@ export const updateTermsViaCalc = async (contentWindow, modalContent, testName) await contentWindow.waitForSelector(`${offerRow}:first-child`); const offerFieldHeadline = await contentWindow.$eval(offerRow, element => element.innerText); - expect(offerFieldHeadline).toContain(modalContent.updatedOfferHeadline); + const newOfferFieldHeadline = offerFieldHeadline.replace('month.', '').replace(/\n/g, ''); + expect(newOfferFieldHeadline).toContain(modalContent.updatedOfferHeadline); await modalSnapshot(testName, contentWindow); }; @@ -101,7 +103,8 @@ export const showCorrectAPRDisclaimer = async (contentWindow, modalContent, test await contentWindow.waitForSelector(contentWrapper); await contentWindow.waitForSelector(`${offerRow}:first-child`); const offerFieldHeadline = await contentWindow.$eval(offerRow, element => element.innerText); - expect(offerFieldHeadline).toContain(modalContent.offerHeadline); + const newOfferFieldHeadline = offerFieldHeadline.replace('month.', '').replace(/\n/g, ''); + expect(newOfferFieldHeadline).toContain(modalContent.offerHeadline); await modalSnapshot(testName, contentWindow); }; @@ -118,7 +121,8 @@ export const showCorrectOfferInfoAccordion = async (contentWindow, modalContent, await contentWindow.waitForSelector(openAccordion); await contentWindow.waitForSelector(accordionHeaderContainer); const accordionOfferFieldHeadline = await contentWindow.$eval(accordionFieldHeader, element => element.innerText); - expect(accordionOfferFieldHeadline).toContain(modalContent.offerHeadline); + const newOfferFieldHeadline = accordionOfferFieldHeadline.replace('month.', '').replace(/\n/g, ''); + expect(newOfferFieldHeadline).toContain(modalContent.offerHeadline); await modalSnapshot(testName, contentWindow); }; @@ -152,6 +156,7 @@ export const updateOfferAccordionTermsViaCalc = async (contentWindow, modalConte await contentWindow.waitForSelector(openAccordion); await contentWindow.waitForSelector(accordionHeaderContainer); const accordionOfferFieldHeadline = await contentWindow.$eval(accordionFieldHeader, element => element.innerText); - expect(accordionOfferFieldHeadline).toContain(modalContent.updatedOfferHeadline); + const newOfferFieldHeadline = accordionOfferFieldHeadline.replace('month.', '').replace(/\n/g, ''); + expect(newOfferFieldHeadline).toContain(modalContent.updatedOfferHeadline); await modalSnapshot(testName, contentWindow); };