diff --git a/src/helpers/cms-content-helper.js b/src/helpers/cms-content-helper.js
index c0e73734..665b9023 100644
--- a/src/helpers/cms-content-helper.js
+++ b/src/helpers/cms-content-helper.js
@@ -150,6 +150,7 @@ function processWidgetItemForReplacement(widgetModel, key) {
dynamicStrings.GLOBAL_STATE,
getStoreValueFromString
);
+
if (widgetModel[key].includes(dynamicStrings.GLOBAL_STATE)) {
widgetModel[key] = mapStringToState(widgetModel[key]);
}
@@ -184,6 +185,7 @@ function mapStringToModal(str) {
const splitParams = params.split(',');
const bodyText = '' + splitParams[1] + '';
+
let returnVal = str.replace(linkToReplace, bodyText);
if (returnVal.includes(dynamicStrings.MODAL_LINK)) {
@@ -414,7 +416,6 @@ function getIfStatementRegexExpression() {
// End of If Statement Processing Logic //
//////////////////////////////////////////
-
export function doesCopyContainTextLink(copy) {
return copy.includes(dynamicStrings.TEXT_LINK);
}
diff --git a/src/layouts/entry-page/entry-page.vue b/src/layouts/entry-page/entry-page.vue
index 198cc3bc..c1a2d011 100644
--- a/src/layouts/entry-page/entry-page.vue
+++ b/src/layouts/entry-page/entry-page.vue
@@ -76,6 +76,11 @@
this.mainStore.issConfig.clientName = data.accountName;
this.mainStore.issConfig.accountNumber = data.accountNumber;
this.mainStore.issConfig.styleSheet = data.styleSheet;
+ this.mainStore.issConfig.isCoverageEnabled = data.coverageEnabled;
+
+ // NOTE: This is only here for testing purposes. Will be removed and replaced by actual token/signature validation when work is completed.
+ if ( data.authentication == "RSAToken")
+ this.mainStore.issConfig.isAuthenticated = true;
try
{
diff --git a/src/layouts/payment-page/payment-page.vue b/src/layouts/payment-page/payment-page.vue
new file mode 100644
index 00000000..682aa32b
--- /dev/null
+++ b/src/layouts/payment-page/payment-page.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
diff --git a/src/layouts/provider-preference/provider-pref-radio/provider-pref-radio.spec.js b/src/layouts/provider-preference/provider-pref-radio/provider-pref-radio.spec.js
new file mode 100644
index 00000000..1112ff29
--- /dev/null
+++ b/src/layouts/provider-preference/provider-pref-radio/provider-pref-radio.spec.js
@@ -0,0 +1,127 @@
+import { mount } from "@vue/test-utils"
+import providerPrefRadio from "./provider-pref-radio"
+import inputButtonWrapperMixin from "@/mixins/input-button-wrapper-mixin"
+
+describe.skip("provider-pref-radio.vue", () => {
+ it("Should include buttonLabel in html", async () => {
+ // Arrange
+ let { wrapper } = setupMocks({
+ mountOptionsMockData: {
+ propsData: mockProps,
+ },
+ })
+
+ // Act
+ const outputHtml = wrapper.html()
+ console.log(outputHtml);
+ // Assert
+ expect(outputHtml).toEqual(expect.stringContaining(mockProps["buttonLabel"]))
+ })
+
+ it("Should include buttonLabelAuxillaryCopy in html", async () => {
+ // Arrange
+ let { wrapper } = setupMocks({
+ mountOptionsMockData: {
+ propsData: mockProps,
+ },
+ })
+
+ // Act
+ const outputHtml = wrapper.html()
+
+ // Assert
+ expect(outputHtml).toEqual(expect.stringContaining(mockProps["buttonLabelAuxillaryCopy"]))
+ })
+
+ it("Should include buttonLabelSubCopy in html", async () => {
+ // Arrange
+ let { wrapper } = setupMocks({
+ mountOptionsMockData: {
+ propsData: mockProps,
+ },
+ })
+
+ // Act
+ const outputHtml = wrapper.html()
+
+ // Assert
+ expect(outputHtml).toEqual(expect.stringContaining(mockProps["buttonLabelSubCopy"]))
+ })
+ it("Should include buttonFooterCopy in html", async () => {
+ // Arrange
+ let { wrapper } = setupMocks({
+ mountOptionsMockData: {
+ propsData: mockProps,
+ },
+ })
+
+ // Act
+ const outputHtml = wrapper.html()
+
+ // Assert
+ expect(outputHtml).toEqual(expect.stringContaining(mockProps["buttonFooterCopy"]))
+ })
+ it("Should get 5 strings from getArrayOfListItemsFromRawCmsCopy when provided with a dashed (x5) buttonBodyCopy", async () => {
+ // Arrange
+ let { wrapper } = setupMocks({
+ mountOptionsMockData: {
+ propsData: mockProps,
+ },
+ })
+ // Act
+ const results = wrapper.vm.getArrayOfListItemsFromRawCmsCopy(wrapper.vm.buttonBodyCopy)
+
+ // Assert
+ expect(results.length).toBe(5)
+ })
+ it("Should get strings from getArrayOfListItemsFromRawCmsCopy without dashes when provided with a dashed buttonBodyCopy", async () => {
+ // Arrange
+ let { wrapper } = setupMocks({
+ mountOptionsMockData: {
+ propsData: mockProps,
+ },
+ })
+
+ // Act
+ const results = wrapper.vm.getArrayOfListItemsFromRawCmsCopy(wrapper.vm.buttonBodyCopy)
+
+ // Assert
+ const fileredResults = results.filter((result) => {
+ return result.includes(" -");
+ })
+ expect(fileredResults.length).toBe(0)
+ })
+ it("Should get 5 strings from getArrayOfListItemsFromRawCmsCopy when buttonBodyCopy has 6 total dashes, but one is empty ", async () => {
+ // Arrange
+ const moddedProps = mockProps
+ moddedProps["buttonBodyCopy"] = "- buttonBodyCopy test copy - 2 - 3 - 4 - 5 -"
+ let { wrapper } = setupMocks({
+ mountOptionsMockData: {
+ propsData: moddedProps,
+ },
+ })
+
+ // Act
+ const results = wrapper.vm.getArrayOfListItemsFromRawCmsCopy(wrapper.vm.buttonBodyCopy)
+
+ // Assert
+ expect(results.length).toBe(5)
+ })
+})
+
+const mockProps = {
+ buttonLabel: 'buttonLabel test copy',
+ buttonLabelAuxillaryCopy: 'buttonLabelAuxillaryCopy test copy',
+ buttonLabelSubCopy: 'buttonLabelSubCopy test copy',
+ buttonBodyCopy: '- buttonBodyCopy test copy - 2 - 3 - 4 - 5',
+ buttonFooterCopy: 'buttonFooterCopy test copy'
+}
+
+function setupMocks({ mountOptionsMockData = {} }) {
+ const wrapper = mount(providerPrefRadio, {
+ ...mountOptionsMockData,
+ mixins: [inputButtonWrapperMixin]
+ })
+
+ return { wrapper }
+}
\ No newline at end of file
diff --git a/src/layouts/provider-preference/provider-pref-radio/provider-pref-radio.vue b/src/layouts/provider-preference/provider-pref-radio/provider-pref-radio.vue
new file mode 100644
index 00000000..c32dd9d3
--- /dev/null
+++ b/src/layouts/provider-preference/provider-pref-radio/provider-pref-radio.vue
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+
+
+
+