diff --git a/src/common-components/base-input-button/base-input-button.vue b/src/common-components/base-input-button/base-input-button.vue index 4c94356c..f67ead49 100644 --- a/src/common-components/base-input-button/base-input-button.vue +++ b/src/common-components/base-input-button/base-input-button.vue @@ -169,10 +169,4 @@ input { width: 0; position: absolute; } - -@supports (-moz-appearance: none) { - input { - margin-top: -3.5px; - } -} diff --git a/src/common-components/site-footer/site-footer.vue b/src/common-components/site-footer/site-footer.vue index dcf00770..9cfdf83d 100644 --- a/src/common-components/site-footer/site-footer.vue +++ b/src/common-components/site-footer/site-footer.vue @@ -58,7 +58,7 @@ export default { }; }, mounted() { - this.paddingHeight = this.includeFooterImage ? this.getFooterInfoBoxHeight() + 89 : this.getFooterInfoBoxHeight() + 24; + this.paddingHeight = this.includeFooterImage ? this.getFooterInfoBoxHeight() + 16 : this.getFooterInfoBoxHeight() + 24; this.$nextTick(() => { window.addEventListener("resize", this.onResize); }); diff --git a/src/layouts/policy-holder-details/policy-holder-details.vue b/src/layouts/policy-holder-details/policy-holder-details.vue new file mode 100644 index 00000000..b1fb2a8a --- /dev/null +++ b/src/layouts/policy-holder-details/policy-holder-details.vue @@ -0,0 +1,37 @@ + + + + + + + + + PlaceHolder for policy holder details + + + + + + + \ No newline at end of file diff --git a/src/layouts/welcome-page/welcome-page.spec.js b/src/layouts/welcome-page/welcome-page.spec.js new file mode 100644 index 00000000..3d7d7d26 --- /dev/null +++ b/src/layouts/welcome-page/welcome-page.spec.js @@ -0,0 +1,92 @@ +import welcomePage from "@/layouts/welcome-page/welcome-page.vue"; + +// Supporting files +// Supporting files +import { shallowMount } from '@vue/test-utils'; +import { settleAllPromises } from "@/helpers/layout-helper.js"; +import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; +import baseMixin from "@/mixins/base-mixin.js"; +import { getMountOptions } from "@/helpers/unit-test-helper.js"; +import { applicationConfig } from "@/constants/application-config"; + +// 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(), +})); + + +describe("welcome-page.vue", () => { + test("Should render welcomePage sub-components (policyNumber, policyZipCode, dateOfLoss, damageCause etc.)", async () => { + // Arrange + const { wrapper } = setupMocks({}); + // Act + const policyNumber = wrapper.findComponent({ ref: "policyNumber" }); + const dateOfLoss = wrapper.findComponent({ ref: "dateOfLoss" }); + const damageCause = wrapper.findComponent({ ref: "damageCause" }); + const damageCity = wrapper.findComponent({ ref: "damageCity" }); + const state = wrapper.findComponent({ ref: "state" }); + const glassOnlyDamage = wrapper.findComponent({ ref: "glassOnlyDamage" }); + const phoneNumber = wrapper.findComponent({ ref: "phoneNumber" }); + const email = wrapper.findComponent({ ref: "email" }); + + + // Assert + expect(policyNumber.exists()).toBe(true); + expect(dateOfLoss.exists()).toBe(true); + expect(damageCause.exists()).toBe(true); + expect(damageCity.exists()).toBe(true); + expect(state.exists()).toBe(true); + expect(glassOnlyDamage.exists()).toBe(true); + expect(phoneNumber.exists()).toBe(true); + expect(email.exists()).toBe(true); + }); +}); + +function setupMocks({ + pageHeaderWidgetHeaderText = {}, + pageFooterWidgetCmsContent = {}, + mountOptionsMockData = {}, +}) { + //Mock api responses + const apiResponses = { + cmsContent: { + SiteSubHeaderWidget: pageHeaderWidgetHeaderText, + VehicleBannerWidget: { + GenericVehicleImage: + `${applicationConfig.ISS_DEV_CMS_DOMAIN}/images/default-source/default-album/blurred-image.jpg`, + }, + SiteHeaderWidget: { + LogoImage: + `${applicationConfig.ISS_DEV_CMS_DOMAIN}/images/default-source/default-album/logos/insuranceLogo.jpg`, + }, + SiteFooterWidget: pageFooterWidgetCmsContent, + + }, + }; + + mountOptionsMockData = { + ...mountOptionsMockData, + router: { + navigate: jest.fn(), + }, + }; + + const apiPromise = Promise.resolve(apiResponses); + + settleAllPromises.mockImplementation(() => apiPromise); + fetchCmsContentForPage.mockImplementation(() => Promise.resolve()); + + const mountOptions = getMountOptions(mountOptionsMockData); + + const wrapper = shallowMount(welcomePage, mountOptions); + + wrapper.vm.setCmsContent = baseMixin.methods.setCmsContent; + + return { wrapper, apiPromise }; +} + diff --git a/src/layouts/welcome-page/welcome-page.vue b/src/layouts/welcome-page/welcome-page.vue index a727d734..23c6f278 100644 --- a/src/layouts/welcome-page/welcome-page.vue +++ b/src/layouts/welcome-page/welcome-page.vue @@ -9,8 +9,9 @@ @@ -20,9 +21,10 @@ @@ -63,7 +66,7 @@ @@ -90,9 +94,10 @@ @@ -102,7 +107,8 @@ @@ -168,23 +174,18 @@ export default { name: "welcome-page", mixins: [BaseFormMixin], - data: { - modelValue: { - type: Object, - default: () => ({ - welcomePageModel: { - policyNumber: "", - policyZipCode: "", - dateOfLoss: "", - damageCause: "", - damageState: "", - damageCity: "", - isDamageGlassOnly: "", - phoneNumber: "", - email: "" - }, - }), - }, + data() { + return { + policyNumber: "", + policyZipCode: "", + dateOfLoss: "", + damageCause: "", + damageState: "", + damageCity: "", + isDamageGlassOnly: "", + phoneNumber: "", + email: "" + }; }, async beforeRouteEnter(to, from, next) { @@ -213,16 +214,22 @@ }, navigateForward() { - + this.$router.navigate( + this.navigationScenarios.WELCOME_PAGE, + this.$route + ); }, }, computed:{ DamageCauseOptions() { const damageCauseAnswers = this.getCmsContent("DamageCauseQuestion", "Answers"); const answerArray = []; - for (let answer of Object.values(damageCauseAnswers)) { - if (answer?.Name) { - answerArray.push(answer.Name); + if(damageCauseAnswers) + { + for (let answer of Object.values(damageCauseAnswers)) { + if (answer?.Name) { + answerArray.push(answer.Name); + } } } return answerArray; @@ -315,22 +322,6 @@