diff --git a/src/common-components/vehicle-banner/vehicle-banner.spec.js b/src/common-components/vehicle-banner/vehicle-banner.spec.js
index 316c9225d..470410842 100644
--- a/src/common-components/vehicle-banner/vehicle-banner.spec.js
+++ b/src/common-components/vehicle-banner/vehicle-banner.spec.js
@@ -3,6 +3,12 @@ import vehicleBanner from './vehicle-banner';
import { getMountOptions } from "@/helpers/unit-test-helper.js";
import { storeActions } from "@/constants/store-actions";
import { nextTick } from 'vue';
+import { settleAllPromises } from "@/helpers/layout-helper";
+
+// Mock our module for promises.
+jest.mock("@/helpers/layout-helper.js", () => ({
+ settleAllPromises: jest.fn()
+}));
describe('vehicleBanner', () => {
const $store = {
@@ -45,6 +51,17 @@ describe('vehicleBanner', () => {
]
};
+ // Our mock data for our call to settleAllPromises
+ const mockData = {
+ getPageContent: {
+ VehicleBannerWidget: [{ GenericVehicleImage: "testurl" }],
+ isCmsContentReady: true,
+ }
+ }
+
+ // our mock implementation of settleAllPromises
+ settleAllPromises.mockImplementation(() => { return Promise.resolve(mockData);});
+
test('renders the blurrycar image when vehicleImageSrc is not present', () => {
// Arrange
const mountOptions = getMountOptions(actionList);
@@ -141,4 +158,23 @@ describe('vehicleBanner', () => {
wrapper.unmount();
});
+ test("vehicle-banner.vue should render data from CMS", async () => {
+ // Arrange
+ const mountOptions = getMountOptions(actionList);
+ mountOptions.global.mocks = {
+ ...mountOptions.global.mocks,
+ $store
+ }
+ // Act
+ const wrapper = shallowMount(vehicleBanner, {
+ ...mountOptions
+ });
+ // Call method getGenericVehicleImage on the component.
+ await wrapper.vm.getGenericVehicleImage();
+ // Wait for the DOM to update.
+ await nextTick();
+ // Assert
+ expect(wrapper.vm.genericVehicleImageSrc).toEqual("testurl");
+ });
+
});
diff --git a/src/common-components/vehicle-banner/vehicle-banner.vue b/src/common-components/vehicle-banner/vehicle-banner.vue
index 9d91beb74..c1376710b 100644
--- a/src/common-components/vehicle-banner/vehicle-banner.vue
+++ b/src/common-components/vehicle-banner/vehicle-banner.vue
@@ -8,7 +8,7 @@
/>
@@ -16,6 +16,9 @@
diff --git a/src/constants/widget-names.js b/src/constants/widget-names.js
index bad1390c6..ed8c1a8a6 100644
--- a/src/constants/widget-names.js
+++ b/src/constants/widget-names.js
@@ -1,6 +1,7 @@
const widgetNames = {
PAGE_HEADER_WIDGET: "PageHeaderWidget",
RADIO_QUESTION_WIDGET: "RadioQuestionWidget",
+ VEHICLE_BANNER_WIDGET: "VehicleBannerWidget",
};
export { widgetNames };