diff --git a/content/messages/ES/short_term_no_amount.json b/content/messages/ES/short_term_no_amount.json index f77b86dd90..8375b46ba2 100644 --- a/content/messages/ES/short_term_no_amount.json +++ b/content/messages/ES/short_term_no_amount.json @@ -1,10 +1,10 @@ { "meta": { "offerCountry": "ES", - "offerType": "PAY_LATER_SHORT_TERM", - "messageType": "PLST_NA", + "offerType": "GENERIC", + "messageType": "GENERIC", "offerTerm": "{total_payments}", - "lander": "", + "lander": "https://www.paypal.com/credit-presentment/lander/modal", "variables": { "offer_id": "${CREDIT_OFFERS_DS.offer_id}", "vendor_financing_id": "${CREDIT_OFFERS_DS.vendor_financing_id}", @@ -14,10 +14,7 @@ "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}" } }, - "headline": [["Compra ahora y paga después.", ["default"]]], - "subHeadline": [], - "disclaimer": [["Más información", ["default"]]] } diff --git a/content/messages/FR/generic.json b/content/messages/FR/generic.json new file mode 100644 index 0000000000..59eff3e947 --- /dev/null +++ b/content/messages/FR/generic.json @@ -0,0 +1,22 @@ +{ + "meta": { + "offerCountry": "FR", + "offerType": "GENERIC", + "messageType": "GENERIC", + "offerTerm": "{total_payments}", + "lander": "https://www.paypal.com/credit-presentment/lander/modal", + "experiment_id": "{experiment_id}", + "experiment_treatment_id": "{experiment_treatment_id}", + "variables": { + "offer_id": "${CREDIT_OFFERS_DS.offer_id}", + "vendor_financing_id": "${CREDIT_OFFERS_DS.vendor_financing_id}", + "financing_code": "${CREDIT_OFFERS_DS.financing_code}", + "formattedPeriodicPayment": "${CREDIT_OFFERS_DS.formattedPeriodicPayment}", + "formattedMinAmount": "${CREDIT_OFFERS_DS.formattedMinAmount}", + "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}" + } + }, + "headline": [["Payez en plusieurs fois.", ["default"]]], + "subHeadline": [], + "disclaimer": [["En savoir plus", ["default"]]] +} diff --git a/content/messages/FR/long_term_nq.json b/content/messages/FR/long_term_nq.json new file mode 100644 index 0000000000..77983bd4cb --- /dev/null +++ b/content/messages/FR/long_term_nq.json @@ -0,0 +1,29 @@ +{ + "meta": { + "offerCountry": "FR", + "offerType": "PAY_LATER_LONG_TERM", + "offerTerm": "{total_payments}", + "messageType": "PLLT_NQ_GZ", + "lander": "https://www.paypal.com/credit-presentment/lander/modal", + "variables": { + "offer_id": "${CREDIT_OFFERS_DS.offer_id}", + "vendor_financing_id": "${CREDIT_OFFERS_DS.vendor_financing_id}", + "financing_code": "${CREDIT_OFFERS_DS.financing_code}", + "formattedPeriodicPayment": "${CREDIT_OFFERS_DS.formattedPeriodicPayment}", + "formattedMinAmount": "${CREDIT_OFFERS_DS.formattedMinAmount}", + "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}" + } + }, + "headline": [ + ["Payez en plusieurs fois.", ["default", "xsmall"]], + ["Payez en plusieurs fois.", ["xsmall.2"]], + [ + "Payez en plusieurs échéances pour vos achats de {formatted_min_amount} à {formatted_max_amount}.", + ["small", "medium", "large", "xlarge"] + ] + ], + "subHeadline": [], + "disclaimer": [ + ["En savoir plus", ["default"]] + ] +} diff --git a/content/messages/FR/long_term_q_gtz.json b/content/messages/FR/long_term_q_gtz.json new file mode 100644 index 0000000000..5d4511e21c --- /dev/null +++ b/content/messages/FR/long_term_q_gtz.json @@ -0,0 +1,26 @@ +{ + "meta": { + "offerCountry": "FR", + "offerType": "PAY_LATER_LONG_TERM", + "messageType": "PLLT_MQ_GZ", + "offerTerm": "{total_payments}", + "lander": "https://www.paypal.com/credit-presentment/lander/modal", + "variables": { + "offer_id": "${CREDIT_OFFERS_DS.offer_id}", + "vendor_financing_id": "${CREDIT_OFFERS_DS.vendor_financing_id}", + "financing_code": "${CREDIT_OFFERS_DS.financing_code}", + "formattedPeriodicPayment": "${CREDIT_OFFERS_DS.formattedPeriodicPayment}", + "formattedMinAmount": "${CREDIT_OFFERS_DS.formattedMinAmount}", + "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}" + } + }, + "headline": [ + ["Payez en plusieurs fois.", ["default", "xsmall"]], + ["Payez en plusieurs fois.", ["xsmall.2"]], + [["Payez jusqu'à {total_payments} échéances."], ["small", "medium", "large", "xlarge"]] + ], + "subHeadline": [], + "disclaimer": [ + ["En savoir plus", ["default"]] + ] +} diff --git a/content/messages/IT/short_term_no_amount.json b/content/messages/IT/short_term_no_amount.json index 6da05c2065..8b5b5cbaf8 100644 --- a/content/messages/IT/short_term_no_amount.json +++ b/content/messages/IT/short_term_no_amount.json @@ -1,8 +1,8 @@ { "meta": { "offerCountry": "IT", - "offerType": "PAY_LATER_SHORT_TERM", - "messageType": "PLST_NA", + "offerType": "GENERIC", + "messageType": "GENERIC", "offerTerm": "{total_payments}", "lander": "", "variables": { diff --git a/demo/helpers/accounts.js b/demo/helpers/accounts.js index 6ced2387c2..e53a3899d3 100644 --- a/demo/helpers/accounts.js +++ b/demo/helpers/accounts.js @@ -72,8 +72,11 @@ const accounts = [ // 'DEV00000GBPLQ', // FR - // 'DEV000000FRPL', - // 'DEV00000FRPLQ' + // DEV0FRGENERIC + // DEV000000FRPL + // DEV00000FRPLQ + // DEV0000FRPLTQ + // DEV000FRPLTNQ // ES // 'DEV00000ESPLQ', diff --git a/src/server/locale/FR/mutations/generic.js b/src/server/locale/FR/mutations/generic.js new file mode 100644 index 0000000000..4f2b4cf90e --- /dev/null +++ b/src/server/locale/FR/mutations/generic.js @@ -0,0 +1,162 @@ +import Logo from '../../../message/logos'; +import { + textWrap, + messageLogoWidth, + altNoWrap, + setLogoTop, + logo20x1, + xSmallFallback +} from '../../../message/mediaQueries'; +import { textLogoMutations, flexLogoMutations } from '../../../message/logoMutations'; + +const headlineBreaks = [ + { + sizes: ['default'], + breaks: ['achats'] + } +].reduce((acc, item) => { + const { sizes, breaks } = item; + sizes.forEach(size => { + acc.push({ + tag: size, + br: breaks + }); + }); + return acc; +}, []); + +const flex = [ + [ + 'default', + { + logo: Logo.PP_PAYPAL.WHITE, + headline: [ + { + tag: 'xsmall' + }, + { + tag: 'medium' + } + ], + disclaimer: ['default'] + } + ], + [ + 'ratio:20x1', + { + headline: [...headlineBreaks], + styles: [logo20x1()] + } + ], + [ + 'ratio:8x1', + { + headline: [...headlineBreaks] + } + ], + ...flexLogoMutations +]; + +export default { + 'layout:flex': flex, + 'layout:text': [ + [ + 'default', + ({ textSize }) => ({ + styles: [ + textWrap(textSize * 33, textSize, 'ES'), + xSmallFallback(textSize * 16), + messageLogoWidth(false, textSize * 4, textSize * 1.25), + setLogoTop(textSize * 16) + ], + logo: Logo.PP_PAYPAL.COLOR, + headline: [ + { + tag: 'default', + br: ['achats'] + } + ], + disclaimer: ['default'] + }) + ], + [ + 'logo.type:primary && logo.position:right', + ({ textSize }) => ({ + styles: [ + xSmallFallback(textSize * 17.4), + setLogoTop(textSize * 41.5), + messageLogoWidth(textSize * 6, textSize * 4, textSize * 1.25) + ], + headline: [ + { + tag: 'default', + br: ['achats'] + } + ] + }) + ], + [ + 'logo.type:primary && logo.position:top', + ({ textSize }) => ({ + styles: [ + xSmallFallback(textSize * 17.4), + messageLogoWidth(textSize * 6, textSize * 4, textSize * 1.25) + ], + headline: [ + { + tag: 'default', + br: ['achats'] + } + ] + }) + ], + [ + 'logo.type:alternative', + ({ textSize }) => ({ + styles: [ + `@media screen and (max-width: ${textSize * 10.6}px) { .message__content { white-space: nowrap; }}`, + textWrap(textSize * 36.5, textSize, 'ES'), + xSmallFallback(textSize * 17.75), + altNoWrap(textSize * 10.6), + messageLogoWidth(textSize * 1.75, textSize * 4, textSize * 1.25) + ], + logo: Logo.PP_PAYPAL.COLOR[0], + headline: [ + { + tag: 'default', + br: ['achats'] + } + ] + }) + ], + [ + 'logo.type:none', + ({ textSize }) => ({ + styles: [xSmallFallback(textSize * 20)], + logo: false, + headline: [ + { + tag: 'default', + br: ['achats'], + replace: [['fois.', 'fois']] + } + ] + }) + ], + [ + 'logo.type:inline', + ({ textSize }) => ({ + styles: [xSmallFallback(textSize * 20), `.message__logo { width: ${textSize * 4}px }`], + logo: Logo.NO_PP_MONOGRAM.COLOR, + headline: [ + { + tag: 'default', + br: ['achats'], + replace: [['fois.', 'fois']] + } + ] + }) + ], + ...textLogoMutations + ] +}; diff --git a/src/server/locale/FR/mutations/index.js b/src/server/locale/FR/mutations/index.js index 63bd77f828..104d9bc44e 100644 --- a/src/server/locale/FR/mutations/index.js +++ b/src/server/locale/FR/mutations/index.js @@ -1,15 +1,24 @@ // mutations import here. +import generic from './generic'; +import longTermQ from './long_term_q_gtz'; +import longTermNq from './long_term_nq'; import gpl from './gpl'; import gplq from './gplq'; export default function getMutations(id, type) { switch (id) { + case 'PLLT_MQ_GZ': + return longTermQ[type]; + case 'PLLT_NQ_GZ': + return longTermNq[type]; case 'GPLQ': case 'PLST_SQ': return gplq[type]; case 'GPL': case 'PLST_NQ': - default: return gpl[type]; + case 'GENERIC': + default: + return generic[type]; } } diff --git a/src/server/locale/FR/mutations/long_term_nq.js b/src/server/locale/FR/mutations/long_term_nq.js new file mode 100644 index 0000000000..3c2b8f4c43 --- /dev/null +++ b/src/server/locale/FR/mutations/long_term_nq.js @@ -0,0 +1,211 @@ +import Logo from '../../../message/logos'; +import { + xSmallFallback, + textWrap, + messageLogoWidth, + altNoWrap, + setLogoTop, + addPeriod, + logo20x1 +} from '../../../message/mediaQueries'; +import { flexLogoMutations, textLogoMutations } from '../../../message/logoMutations'; + +const headlineBreaks = [ + { + sizes: ['xsmall'] + }, + { + sizes: ['medium'], + breaks: ['de'] + } +].reduce((acc, item) => { + const { sizes, breaks } = item; + sizes.forEach(size => { + acc.push({ + tag: size, + br: breaks + }); + }); + return acc; +}, []); + +const flex = [ + [ + 'default', + { + logo: Logo.PP_PAYPAL.WHITE, + headline: [ + { + tag: 'xsmall' + }, + { + tag: 'medium' + } + ], + disclaimer: ['default'], + styles: ['.message__headline .tag--medium > span:first-child:after { content: "."; }'] + } + ], + [ + 'ratio:20x1', + { + headline: [...headlineBreaks], + styles: [logo20x1(), '.message__headline .tag--medium > span:first-child:after { content: "."; }'] + } + ], + [ + 'ratio:8x1', + { + headline: [...headlineBreaks] + } + ], + ...flexLogoMutations +]; +export default { + 'layout:flex': flex, + 'layout:text': [ + [ + 'default', + ({ textSize }) => ({ + styles: [ + textWrap(textSize * 51, textSize, 'ES'), + xSmallFallback(textSize * 19.5), + messageLogoWidth(false, textSize * 4, textSize * 1.25), + setLogoTop(textSize * 20), + addPeriod() + ], + logo: Logo.PP_PAYPAL.COLOR, + headline: [ + { + tag: 'medium', + br: ['de'] + }, + { + tag: 'xsmall', + br: ['ahora, '] + } + ], + disclaimer: ['default'] + }) + ], + [ + 'logo.type:primary && logo.position:right', + ({ textSize }) => ({ + styles: [ + xSmallFallback(textSize * 16), + setLogoTop(textSize * 51), + messageLogoWidth(textSize * 6, textSize * 4, textSize * 1.25), + addPeriod(), + `@media screen and (max-width: ${ + textSize * 14.5 + }px) { .message__headline > .tag--xsmall > span { white-space: normal;} }` + ], + headline: [ + { + tag: 'medium', + br: ['de'] + }, + { + tag: 'xsmall', + br: ['ahora, '] + } + ] + }) + ], + [ + 'logo.type:primary && logo.position:top', + ({ textSize }) => ({ + styles: [ + xSmallFallback(textSize * 16), + messageLogoWidth(textSize * 6, textSize * 4, textSize * 1.25), + addPeriod(), + `@media screen and (max-width: ${ + textSize * 14.5 + }px) { .message__headline > .tag--xsmall > span { white-space: normal;} }` + ], + headline: [ + { + tag: 'medium', + br: ['de'] + }, + { + tag: 'xsmall', + br: ['ahora, '] + } + ] + }) + ], + [ + 'logo.type:alternative', + ({ textSize }) => ({ + styles: [ + `@media screen and (max-width: ${textSize * 10.6}px) { .message__content { white-space: nowrap; }}`, + textWrap(textSize * 46, textSize, 'ES'), + xSmallFallback(textSize * 19), + altNoWrap(textSize * 10.6), + messageLogoWidth(textSize * 1.75, textSize * 4, textSize * 1.25), + addPeriod() + ], + logo: Logo.PP_PAYPAL.COLOR[0], + headline: [ + { + tag: 'medium', + br: ['de'] + }, + { + tag: 'xsmall', + br: ['ahora, '] + } + ] + }) + ], + [ + 'logo.type:none', + ({ textSize }) => ({ + styles: [ + xSmallFallback(textSize * 21.6), + `@media screen and (max-width: ${ + textSize * 14.5 + }px) { .message__headline > .tag--xsmall > span { white-space: normal;} }` + ], + logo: false, + headline: [ + { + tag: 'medium', + br: ['de'] + }, + { + tag: 'xsmall', + br: ['después.'], + replace: [['después.', 'después']] + } + ] + }) + ], + [ + 'logo.type:inline', + ({ textSize }) => ({ + styles: [ + xSmallFallback(textSize * 21.6), + `.message__logo { width: ${textSize * 4}px }`, + `@media screen and (max-width: ${ + textSize * 14.5 + }px) { .message__headline > .tag--xsmall > span { white-space: normal;} }` + ], + logo: Logo.NO_PP_MONOGRAM.COLOR, + headline: [ + { + tag: 'medium', + br: ['de'] + }, + { + tag: 'xsmall', + br: ['después.'], + replace: [['después.', 'después']] + } + ] + }) + ], + ...textLogoMutations + ] +}; diff --git a/src/server/locale/FR/mutations/long_term_q_gtz.js b/src/server/locale/FR/mutations/long_term_q_gtz.js new file mode 100644 index 0000000000..62d48dabc4 --- /dev/null +++ b/src/server/locale/FR/mutations/long_term_q_gtz.js @@ -0,0 +1,209 @@ +import Logo from '../../../message/logos'; +import { + textWrap, + messageLogoWidth, + altNoWrap, + setLogoTop, + logo20x1, + xSmallFallback, + addPeriod +} from '../../../message/mediaQueries'; +import { flexLogoMutations, textLogoMutations } from '../../../message/logoMutations'; + +const headlineBreaks = [ + { + sizes: ['xsmall'] + }, + { + sizes: ['medium'], + breaks: ['hasta'] + } +].reduce((acc, item) => { + const { sizes, breaks } = item; + sizes.forEach(size => { + acc.push({ + tag: size, + br: breaks + }); + }); + return acc; +}, []); + +const flex = [ + [ + 'default', + { + logo: Logo.PP_PAYPAL.WHITE, + headline: [ + { + tag: 'xsmall' + }, + { + tag: 'medium' + } + ], + disclaimer: ['default'], + styles: ['.message__headline .tag--medium > span:first-child:after { content: "."; }'] + } + ], + [ + 'ratio:20x1', + { + headline: [...headlineBreaks], + styles: [logo20x1(), '.message__headline .tag--medium > span:first-child:after { content: "."; }'] + } + ], + [ + 'ratio:8x1', + { + headline: [...headlineBreaks] + } + ], + ...flexLogoMutations +]; +export default { + 'layout:flex': flex, + 'layout:text': [ + [ + 'default', + ({ textSize }) => ({ + styles: [ + textWrap(textSize * 42, textSize, 'ES'), + xSmallFallback(textSize * 16), + messageLogoWidth(false, textSize * 4, textSize * 1.25), + setLogoTop(textSize * 16), + addPeriod() + ], + logo: Logo.PP_PAYPAL.COLOR, + headline: [ + { + tag: 'medium', + br: ['hasta'] + }, + { + tag: 'xsmall', + br: ['ahora, '] + } + ], + disclaimer: ['default'] + }) + ], + [ + 'logo.type:primary && logo.position:right', + ({ textSize }) => ({ + styles: [ + `@media screen and (max-width: ${ + textSize * 18.5 + }px) { .message__headline > .tag--medium > span > span:first-child { white-space: normal; } }`, + xSmallFallback(textSize * 12), + setLogoTop(textSize * 40), + messageLogoWidth(textSize * 6, textSize * 4, textSize * 1.25), + addPeriod(), + `@media screen and (max-width: ${ + textSize * 14.5 + }px) { .message__headline > .tag--xsmall > span { white-space: normal;} }` + ] + }) + ], + [ + 'logo.type:primary && logo.position:top', + ({ textSize }) => ({ + styles: [ + `@media screen and (max-width: ${ + textSize * 18.5 + }px) { .message__headline > .tag--medium > span > span:first-child { white-space: normal; } }`, + xSmallFallback(textSize * 12), + messageLogoWidth(textSize * 6, textSize * 4, textSize * 1.25), + addPeriod(), + `@media screen and (max-width: ${ + textSize * 14.5 + }px) { .message__headline > .tag--xsmall > span { white-space: normal;} }` + ], + headline: [ + { + tag: 'medium', + br: ['hasta'] + }, + { + tag: 'xsmall', + br: ['ahora, '] + } + ] + }) + ], + [ + 'logo.type:alternative', + ({ textSize }) => ({ + styles: [ + `@media screen and (max-width: ${textSize * 10.6}px) { .message__content { white-space: nowrap; }}`, + textWrap(textSize * 34, textSize, 'ES'), + xSmallFallback(textSize * 11.5), + altNoWrap(textSize * 10.6), + messageLogoWidth(textSize * 1.75, textSize * 4, textSize * 1.25), + addPeriod() + ], + logo: Logo.PP_PAYPAL.COLOR[0], + headline: [ + { + tag: 'medium', + br: ['hasta'] + }, + { + tag: 'xsmall', + br: ['ahora,'] + } + ] + }) + ], + [ + 'logo.type:none', + ({ textSize }) => ({ + styles: [ + xSmallFallback(textSize * 20), + `@media screen and (max-width: ${ + textSize * 14.5 + }px) { .message__headline > .tag--xsmall > span { white-space: normal;} }` + ], + logo: false, + headline: [ + { + tag: 'medium', + br: ['plazos'], + replace: [['plazos.', 'plazos ']] + }, + { + tag: 'xsmall', + br: ['después.'], + replace: [['después.', 'después']] + } + ] + }) + ], + [ + 'logo.type:inline', + ({ textSize }) => ({ + styles: [ + xSmallFallback(textSize * 18), + `.message__logo { width: ${textSize * 4}px }`, + `@media screen and (max-width: ${ + textSize * 14.5 + }px) { .message__headline > .tag--xsmall > span { white-space: normal;} }` + ], + logo: Logo.NO_PP_MONOGRAM.COLOR, + headline: [ + { + tag: 'medium', + br: ['plazos'], + replace: [['plazos.', 'plazos ']] + }, + { + tag: 'xsmall', + replace: [['después.', 'después']], + br: ['después'] + } + ] + }) + ], + ...textLogoMutations + ] +}; diff --git a/tests/functional/spec/FR/accounts.js b/tests/functional/spec/FR/accounts.js index 8acdb22bb9..db3542df77 100644 --- a/tests/functional/spec/FR/accounts.js +++ b/tests/functional/spec/FR/accounts.js @@ -1 +1 @@ -export default ['DEV000000FRPL', 'DEV00000FRPLQ']; +export default ['DEV0FRGENERIC', 'DEV000000FRPL', 'DEV00000FRPLQ', 'DEV0000FRPLTQ', 'DEV000FRPLTNQ']; diff --git a/tests/functional/v2/config/FR/DEV_FR_LONG_TERM.js b/tests/functional/v2/config/FR/DEV_FR_LONG_TERM.js new file mode 100644 index 0000000000..56d2110c28 --- /dev/null +++ b/tests/functional/v2/config/FR/DEV_FR_LONG_TERM.js @@ -0,0 +1,42 @@ +export const DEV_FR_LONG_TERM = { + testFileName: 'longTerm', + country: 'FR', + description: 'FR merchant eligible for long term only', + minAmount: 60, + maxAmount: 2999, + amounts: [ + { + value: '0.00', + message: 'Non-qualifying Pay Monthly', + expectedValue: 'Paga en 6, 12 o 24 plazos', + modalContent: { + offerHeadline: null, + offerFieldValues: null, + belowMinAmountErr: 'Introduce un importe igual o superior a 60 €.', + aprDisclaimer: 'Tipo de interes nominal (TIN) fijo anual del 0%' + } + }, + { + value: '60.00', + message: 'Qualifying Pay Monthly', + expectedValue: 'Paga en 6, 12 o 24 plazos', + modalContent: { + offerHeadline: '2,50 €/mes', + updatedOfferHeadline: '20,83 €/mes', + offerFieldValues: ['60,00 €', '0,00 €', '60,00 €'], + aprDisclaimer: 'Tipo de interes nominal (TIN) fijo anual del 0%' + } + }, + { + value: '2999.01', + message: 'Non-qualifying Pay Monthly', + expectedValue: 'Paga en 6, 12 o 24 plazos', + modalContent: { + offerHeadline: null, + offerFieldValues: null, + aboveMaxAmountErr: 'Introduce un importe inferior a 2.999 €.', + aprDisclaimer: 'Tipo de interes nominal (TIN) fijo anual del 0%' + } + } + ] +}; diff --git a/tests/functional/v2/config/FR/DEV_FR_MULTI.js b/tests/functional/v2/config/FR/DEV_FR_MULTI.js new file mode 100644 index 0000000000..44199bdbf4 --- /dev/null +++ b/tests/functional/v2/config/FR/DEV_FR_MULTI.js @@ -0,0 +1,17 @@ +export const DEV_FR_MULTI = { + testFileName: 'multiProduct', + country: 'FR', + description: 'FR Multi-product merchant', + amounts: [ + { + value: '0.00', + message: 'Product list modal functionality', + expectedValue: 'Compra ahora y paga después', + modalContent: { + headline: 'Compra ahora y paga después', + shortTerm: 'Paga en 3 plazos', + longTerm: 'Paga en 6, 12 o 24 plazos' + } + } + ] +}; diff --git a/tests/functional/v2/config/FR/index.js b/tests/functional/v2/config/FR/index.js index 8a228ba3b8..59580ff0c8 100644 --- a/tests/functional/v2/config/FR/index.js +++ b/tests/functional/v2/config/FR/index.js @@ -1 +1,3 @@ export { DEV_FR_SHORT_TERM } from './DEV_FR_SHORT_TERM'; +export { DEV_FR_LONG_TERM } from './DEV_FR_LONG_TERM'; +export { DEV_FR_MULTI } from './DEV_FR_MULTI'; diff --git a/utils/devServerProxy/config/ES/index.js b/utils/devServerProxy/config/ES/index.js index 2ad6309ff3..9f695dd6df 100644 --- a/utils/devServerProxy/config/ES/index.js +++ b/utils/devServerProxy/config/ES/index.js @@ -22,7 +22,7 @@ export default { { amount: 0, template: 'short_term_no_amount.json', - product: 'PAY_LATER_SHORT_TERM' + product: 'GENERIC' }, { amount: 0.01, diff --git a/utils/devServerProxy/config/FR/index.js b/utils/devServerProxy/config/FR/index.js index f08006818d..f1db9ccd20 100644 --- a/utils/devServerProxy/config/FR/index.js +++ b/utils/devServerProxy/config/FR/index.js @@ -1,6 +1,85 @@ // Note that these values are solely mock structures for development purposes // that are not guaranteed to be reflective of what is in production export default { + DEV_FR_MULTI: { + country: 'FR', + modalViews: [ + { + template: 'product_list.json', + product: 'PRODUCT_LIST' + }, + { + template: 'short_term.json', + product: 'PAY_LATER_SHORT_TERM' + }, + { + template: 'long_term.json', + offersTemplate: 'long_term.json', + product: 'PAY_LATER_LONG_TERM' + } + ], + messageThresholds: [ + { + amount: 0, + template: 'generic.json', + product: 'GENERIC' + }, + { + amount: 0.01, + template: 'short_term_nq.json', + product: 'PAY_LATER_SHORT_TERM' + }, + { + amount: 30, + template: 'short_term_q.json', + product: 'PAY_LATER_SHORT_TERM' + }, + { + amount: 500, + template: 'long_term_q.json', + product: 'PAY_LATER_LONG_TERM' + }, + { + amount: 2999.01, + template: 'long_term_nq.json', + product: 'PAY_LATER_LONG_TERM' + } + ], + offers: { + PAY_LATER_SHORT_TERM: [ + { + totalPayments: 3, + apr: 0, + nominalRate: 0, + minAmount: 30, + maxAmount: 2000 + } + ], + PAY_LATER_LONG_TERM: [ + { + totalPayments: 6, + apr: 14.99, + nominalRate: 14.99, + minAmount: 60, + maxAmount: 2999 + }, + { + totalPayments: 12, + apr: 14.99, + nominalRate: 14.99, + minAmount: 120, + maxAmount: 50299900 + }, + { + totalPayments: 24, + apr: 14.99, + nominalRate: 14.99, + minAmount: 240, + maxAmount: 2999 + } + ] + } + }, DEV_FR_SHORT_TERM: { country: 'FR', modalViews: [ @@ -37,5 +116,52 @@ export default { } ] } + }, + DEV_FR_LONG_TERM: { + country: 'FR', + modalViews: [ + { + template: 'long_term.json', + offersTemplate: 'long_term.json', + product: 'PAY_LATER_LONG_TERM' + } + ], + messageThresholds: [ + { + amount: 60, + template: 'long_term_q_gtz.json', + product: 'PAY_LATER_LONG_TERM' + }, + { + amount: 2999.01, + template: 'long_term_nq.json', + product: 'PAY_LATER_LONG_TERM' + } + ], + offers: { + PAY_LATER_LONG_TERM: [ + { + totalPayments: 6, + apr: 0, + nominalRate: 0, + minAmount: 60, + maxAmount: 2999 + }, + { + totalPayments: 12, + apr: 0, + nominalRate: 0, + minAmount: 60, + maxAmount: 2999 + }, + { + totalPayments: 24, + apr: 0, + nominalRate: 0, + minAmount: 60, + maxAmount: 2999 + } + ] + } } }; diff --git a/utils/devServerProxy/config/IT/index.js b/utils/devServerProxy/config/IT/index.js index 005425f5aa..59dec6f741 100644 --- a/utils/devServerProxy/config/IT/index.js +++ b/utils/devServerProxy/config/IT/index.js @@ -22,7 +22,7 @@ export default { { amount: 0, template: 'short_term_no_amount.json', - product: 'PAY_LATER_SHORT_TERM' + product: 'GENERIC' }, { amount: 0.01, diff --git a/utils/devServerProxy/config/devAccounts.config.js b/utils/devServerProxy/config/devAccounts.config.js index d786cb5a12..65dfdbe733 100644 --- a/utils/devServerProxy/config/devAccounts.config.js +++ b/utils/devServerProxy/config/devAccounts.config.js @@ -96,8 +96,11 @@ export default { DEV000000GBPL: ['GB', ['short_term'], 'pl'], DEV00000GBPLQ: ['GB', ['short_term'], 'plq'], + DEV0FRGENERIC: ['FR', ['short_term'], 'generic'], DEV000000FRPL: ['FR', ['short_term'], 'gpl'], DEV00000FRPLQ: ['FR', ['short_term'], 'gplq'], + DEV0000FRPLTQ: ['FR', ['long_term'], 'long_term_q_gtz'], + DEV000FRPLTNQ: ['FR', ['long_term'], 'long_term_nq'], DEV000000AUPL: ['AU', ['short_term'], 'gpl'], DEV00000AUPLQ: ['AU', ['short_term'], 'gplq'],