From d45359eff74a5df79ea3cbd59b21a54183257c05 Mon Sep 17 00:00:00 2001 From: FrankRua Date: Wed, 26 Oct 2022 14:16:38 -0400 Subject: [PATCH 1/4] multi region bucket deploy --- azure-pipelines.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index caca6e33..37ee7d27 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -75,6 +75,10 @@ stages: clearFolder: true deployFolder: '' region: us-east-2 + safelite-dev-iss-us-east-1: + clearFolder: true + deployFolder: '' + region: us-east-1 appDeployVariables: __VUE_APP_CONSUMER_CF_DISTRO__: $(__VUE_APP_CONSUMER_CF_DISTRO__) __VUE_APP_CURRENT_ENVIRONMENT__: $(__VUE_APP_CURRENT_ENVIRONMENT__) From 4f91f9fff527d9c88c19e03092fc9660ddad7528 Mon Sep 17 00:00:00 2001 From: Jason Wheeler Date: Wed, 26 Oct 2022 17:17:57 -0400 Subject: [PATCH 2/4] Created vehicle-banner and added to vehicle-year for testing --- .../site-sub-header/site-sub-header.spec.js | 2 +- .../vehicle-banner/vehicle-banner.spec.js | 127 ++++++++++++++++++ .../vehicle-banner/vehicle-banner.vue | 82 +++++++++++ src/layouts/vehicle-year/vehicle-year.vue | 3 + 4 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 src/common-components/vehicle-banner/vehicle-banner.spec.js create mode 100644 src/common-components/vehicle-banner/vehicle-banner.vue diff --git a/src/common-components/site-sub-header/site-sub-header.spec.js b/src/common-components/site-sub-header/site-sub-header.spec.js index ff5f2d5e..fd35c00c 100644 --- a/src/common-components/site-sub-header/site-sub-header.spec.js +++ b/src/common-components/site-sub-header/site-sub-header.spec.js @@ -7,7 +7,7 @@ describe("site sub header", () => { const mockMixin = { methods: { getCmsContent: jest.fn().mockImplementation(()=> { - return subHeaderText; + return subHeaderText; }) } } diff --git a/src/common-components/vehicle-banner/vehicle-banner.spec.js b/src/common-components/vehicle-banner/vehicle-banner.spec.js new file mode 100644 index 00000000..14c5a318 --- /dev/null +++ b/src/common-components/vehicle-banner/vehicle-banner.spec.js @@ -0,0 +1,127 @@ +import { shallowMount } from "@vue/test-utils"; +import { vehicleCategories } from "@/constants/vehicle-categories.js"; +import vehicleBanner from "./vehicle-banner"; +import { useMainStore } from "@/store"; +import { createApp } from 'vue'; +import { createPinia } from "pinia"; +import { mapStores } from "pinia"; +import App from '@/App.vue'; + + +const cmsData = { VehicleBannerWidget: + { + "GenericVehicleImage": "blurred-image.jpg", + "GenericVehicleImageFilePath": "images/default-source/default-album/blurred-image.jpg", + "CarUnmatchedVehicleIcon": "car-placeholder.jpg", + "TruckUnmatchedVehicleIcon": "truck-placeholder.jpg", + "VanUnmatchedVehicleIcon": "van-placeholder.jpg", + "CommercialVanUnmatchedVehicleIcon": "commercial-placeholder.jpg", + "SuvUnmatchedVehicleIcon": "suv-placeholder.jpg" + } +} + +const vueApp = createApp(App); +const pinia = createPinia(); +vueApp.use(pinia); +const store = useMainStore(); + +const mockMixin = { + + methods: { + getCmsContent(widgetName, fieldName) { + return cmsData[widgetName][fieldName]; + }, + }, + computed: { + ...mapStores(useMainStore), + vehicleCategories() { + return vehicleCategories; + }, + } +} + +describe("vehicleBanner", () => { + + test("renders the blurrycar image", async () => { + + const wrapper = shallowMount(vehicleBanner, { + propsData: { + displayGenericVehicleImage: true, + cmsWidgetName: "VehicleBannerWidget", + }, + mixins: [mockMixin] + }); + + expect(wrapper.vm.vehicleImageToDisplay).toEqual(wrapper.vm.genericVehicleImage); + expect(wrapper.find("img").attributes("class")).toContain("vehicle-image"); + wrapper.unmount(); + }); + + test("renders expected vehicle image", async () => { + + store.order.vehicle.imageUrl = "url_to_vehicle_image"; + + const wrapper = shallowMount(vehicleBanner, { + propsData: { + displayGenericVehicleImage: false, + cmsWidgetName: "VehicleBannerWidget", + }, + mixins: [mockMixin] + }); + + expect(wrapper.vm.vehicleImageToDisplay).toEqual( "url_to_vehicle_image"); + expect(wrapper.find("img").attributes("class")).toContain("vehicle-image"); + wrapper.unmount(); + + }); + + test("should render car icon when imageUrl is null and category is default", async () => { + + store.order.vehicle.imageUrl = null; + + const wrapper = shallowMount(vehicleBanner, { + propsData: { + displayGenericVehicleImage: false, + cmsWidgetName: "VehicleBannerWidget", + }, + mixins: [mockMixin] + }); + + var iconUrl = wrapper.vm.vehicleImageToDisplay; + + expect(iconUrl).toEqual("car-placeholder.jpg"); + wrapper.unmount(); + }); + + + const params = [["CAR", "car-placeholder.jpg"], + ["TRUCK", "truck-placeholder.jpg"], + ["VAN", "van-placeholder.jpg"], + ["COMMERCIAL VAN", "commercial-placeholder.jpg"], + ["SUV", "suv-placeholder.jpg"], + ["OTHER", "car-placeholder.jpg"]]; + + test.each(params)("renders an icon instead of an image for %s and %s", async (category, expectedIcon) => { + + store.order.vehicle.imageUrl = null; + store.order.vehicle.category = category; + + const wrapper = shallowMount(vehicleBanner, { + propsData: { + displayGenericVehicleImage: false, + cmsWidgetName: "VehicleBannerWidget", + }, + mixins: [mockMixin] + }); + + var vehicleIcon = wrapper.vm.getUnmatchedVehicleIcon(); + + expect(vehicleIcon).toEqual(expectedIcon); + expect(wrapper.find("img").attributes("class")).toContain("vehicle-image"); + wrapper.unmount(); + }); + +}); + + + diff --git a/src/common-components/vehicle-banner/vehicle-banner.vue b/src/common-components/vehicle-banner/vehicle-banner.vue new file mode 100644 index 00000000..534313df --- /dev/null +++ b/src/common-components/vehicle-banner/vehicle-banner.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/layouts/vehicle-year/vehicle-year.vue b/src/layouts/vehicle-year/vehicle-year.vue index b3253139..676c1e33 100644 --- a/src/layouts/vehicle-year/vehicle-year.vue +++ b/src/layouts/vehicle-year/vehicle-year.vue @@ -3,6 +3,7 @@
+
From ef4cdfb731dbc196609ab76303ae5877183ddba8 Mon Sep 17 00:00:00 2001 From: Kulbhushan Kaushik Date: Thu, 27 Oct 2022 08:36:45 -0400 Subject: [PATCH 3/4] fixed extra scroll bar on the page. --- src/styles/common-styles.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/common-styles.scss b/src/styles/common-styles.scss index a516165f..0bbd043a 100644 --- a/src/styles/common-styles.scss +++ b/src/styles/common-styles.scss @@ -23,7 +23,7 @@ body { } .container, .container-fluid { - overflow-x: hidden; + overflow: hidden; } .sub-container{ From cf0cfcf00122bd2016cef5dc8d14e84fe08eb1e9 Mon Sep 17 00:00:00 2001 From: Jason Wheeler Date: Thu, 27 Oct 2022 11:31:52 -0400 Subject: [PATCH 4/4] Updated test descriptions --- src/common-components/vehicle-banner/vehicle-banner.spec.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common-components/vehicle-banner/vehicle-banner.spec.js b/src/common-components/vehicle-banner/vehicle-banner.spec.js index 14c5a318..f36dd257 100644 --- a/src/common-components/vehicle-banner/vehicle-banner.spec.js +++ b/src/common-components/vehicle-banner/vehicle-banner.spec.js @@ -42,7 +42,7 @@ const mockMixin = { describe("vehicleBanner", () => { - test("renders the blurrycar image", async () => { + test("renders the blurrycar image when displayGenericVehicleImage is true", async () => { const wrapper = shallowMount(vehicleBanner, { propsData: { @@ -75,7 +75,7 @@ describe("vehicleBanner", () => { }); - test("should render car icon when imageUrl is null and category is default", async () => { + test("should render default car icon when imageUrl is null and category is default", async () => { store.order.vehicle.imageUrl = null; @@ -101,7 +101,7 @@ describe("vehicleBanner", () => { ["SUV", "suv-placeholder.jpg"], ["OTHER", "car-placeholder.jpg"]]; - test.each(params)("renders an icon instead of an image for %s and %s", async (category, expectedIcon) => { + test.each(params)("renders correct icon when imageUrl is not populated for %s and %s", async (category, expectedIcon) => { store.order.vehicle.imageUrl = null; store.order.vehicle.category = category;