+
-
+
-
+
-
-
-
-
-
-
-
-
+
-
-
-
@@ -53,14 +28,9 @@
import baseInputButton from '@/digital-components/base-input-button/base-input-button';
import textLink from '@/ux-components/text-link/text-link';
import inputButtonWrapperMixin from '@/mixins/input-button-wrapper-mixin';
-import {
- getRouterLinkDisplayTextFromCopy,
- getRouterLinkRouteFromCopy,
- splitCopyOnCMSPlaceHolder,
- doesCopyContainTextLink,
-} from '@/helpers/cms-content-helper';
+
export default {
- name: 'servicePackageRadio',
+ name: 'providerPrefRadio',
mixins: [inputButtonWrapperMixin],
components: {
baseInputButton,
@@ -72,13 +42,6 @@ export default {
},
},
methods: {
- getRouterLinkDisplayTextFromCopy,
- getRouterLinkRouteFromCopy,
- splitCopyOnCMSPlaceHolder,
- doesCopyContainTextLink,
- stripUlTagFromCopy(copy) {
- return copy;
- },
getArrayOfListItemsFromRawCmsCopy(copy) {
if (copy) {
return copy
@@ -91,14 +54,24 @@ export default {
diff --git a/src/layouts/provider-preference/shop-preference-modal/shop-preference-modal.spec.js b/src/layouts/provider-preference/shop-preference-modal/shop-preference-modal.spec.js
new file mode 100644
index 00000000..70658f9e
--- /dev/null
+++ b/src/layouts/provider-preference/shop-preference-modal/shop-preference-modal.spec.js
@@ -0,0 +1,70 @@
+import shopPreferenceModal from "./shop-preference-modal.vue"
+
+import { shallowMount } from '@vue/test-utils';
+import { settleAllPromises } from "@/helpers/layout-helper.js";
+import { fetchCmsContentForPage, setupModalLinks } from "@/helpers/cms-content-helper";
+import { getMountOptions } from "@/helpers/unit-test-helper.js";
+import { useMainStore } from "@/store";
+import { navigationScenarios } from "@/router/router-constants/navigation-scenarios";
+import { nextTick } from "vue";
+
+// Mock our module for promises.
+jest.mock("@/helpers/layout-helper.js", () => ({
+ settleAllPromises: jest.fn(),
+}));
+
+// Mock fetchCmsContentForPage
+jest.mock("@/helpers/cms-content-helper", () => ({
+ fetchCmsContentForPage: jest.fn(),
+ setupModalLinks: jest.fn(),
+}));
+
+describe('provider-preference.vue', () => {
+ test("Should display state specific steering modal link when in state with steering language", async () => {
+ // Arrange
+ const { wrapper } = setupMocks({showSteeringLink: true});
+
+ // Act
+
+ // Test
+ expect(wrapper.vm.showSteeringLink).toBeTruthy();
+
+ });
+
+ test("Should not display state specific steering modal link when not in state with steering language", async () => {
+ // Arrange
+ const { wrapper } = setupMocks({showSteeringLink: false});
+
+ // Act
+
+ // Test
+ expect(wrapper.vm.showSteeringLink).toBeFalsy();
+
+ });
+});
+
+
+
+function setupMocks(propsData){
+ const mountOptions = getMountOptions({
+ router: {
+ navigate: jest.fn(),
+ },
+ });
+
+ mountOptions.propsData = propsData;
+
+ const wrapper = shallowMount(
+ shopPreferenceModal,
+ mountOptions
+ );
+
+
+ const apiResponses = {};
+
+ settleAllPromises.mockImplementation(() => apiResponses);
+ fetchCmsContentForPage.mockImplementation (() => {});
+
+
+ return { wrapper };
+}
diff --git a/src/layouts/provider-preference/shop-preference-modal/shop-preference-modal.vue b/src/layouts/provider-preference/shop-preference-modal/shop-preference-modal.vue
new file mode 100644
index 00000000..3e3001e5
--- /dev/null
+++ b/src/layouts/provider-preference/shop-preference-modal/shop-preference-modal.vue
@@ -0,0 +1,95 @@
+
+
+ {{ModalHeadline}}
+
+
+
+
+
+
+
diff --git a/src/layouts/provider-preference/steering-modal/steering-modal.spec.js b/src/layouts/provider-preference/steering-modal/steering-modal.spec.js
new file mode 100644
index 00000000..7b479d4f
--- /dev/null
+++ b/src/layouts/provider-preference/steering-modal/steering-modal.spec.js
@@ -0,0 +1,52 @@
+import steeringModal from "./steering-modal.vue"
+
+import { shallowMount } from '@vue/test-utils';
+import { settleAllPromises } from "@/helpers/layout-helper.js";
+import { fetchCmsContentForPage, setupModalLinks } from "@/helpers/cms-content-helper";
+import { getMountOptions } from "@/helpers/unit-test-helper.js";
+import { useMainStore } from "@/store";
+import { navigationScenarios } from "@/router/router-constants/navigation-scenarios";
+import { nextTick } from "vue";
+
+// Mock our module for promises.
+jest.mock("@/helpers/layout-helper.js", () => ({
+ settleAllPromises: jest.fn(),
+}));
+
+// Mock fetchCmsContentForPage
+jest.mock("@/helpers/cms-content-helper", () => ({
+ fetchCmsContentForPage: jest.fn(),
+ setupModalLinks: jest.fn(),
+}));
+
+describe('steering-modal.vue', () => {
+ test('getStateSpecificText should return true if state matches', () => {
+ const { wrapper } = setupMocks();
+
+ useMainStore().order.customer.address.state = "OH";
+ expect(wrapper.vm.getStateSpecificText("OH")).toBeTruthy();
+ })
+
+});
+
+function setupMocks(){
+
+ const mountOptions = getMountOptions({
+ router: {
+ navigate: jest.fn(),
+ },
+ });
+
+ const wrapper = shallowMount(
+ steeringModal,
+ mountOptions
+ );
+
+ const apiResponses = {};
+
+ settleAllPromises.mockImplementation(() => apiResponses);
+ fetchCmsContentForPage.mockImplementation (() => {});
+
+
+ return { wrapper };
+}
diff --git a/src/layouts/provider-preference/steering-modal/steering-modal.vue b/src/layouts/provider-preference/steering-modal/steering-modal.vue
new file mode 100644
index 00000000..d08a03f9
--- /dev/null
+++ b/src/layouts/provider-preference/steering-modal/steering-modal.vue
@@ -0,0 +1,92 @@
+
+
+ {{ModalHeadline}}
+
+
+
+
+
+
+
diff --git a/src/layouts/welcome-page/welcome-page.vue b/src/layouts/welcome-page/welcome-page.vue
index 0410c1aa..b70a24eb 100644
--- a/src/layouts/welcome-page/welcome-page.vue
+++ b/src/layouts/welcome-page/welcome-page.vue
@@ -322,9 +322,6 @@ export default {