Merge pull request #122 from Safelite/feature/CSR-222
CSR-222: update CMS API object names
This commit is contained in:
commit
86191a16fe
10 changed files with 53 additions and 53 deletions
|
|
@ -1,8 +1,8 @@
|
||||||
const widgetNames = {
|
const widgetNames = {
|
||||||
PAGE_HEADER_WIDGET: "PageHeaderWidget",
|
FUNNEL_SUB_HEADER_WIDGET: "FunnelSubHeaderWidget",
|
||||||
RADIO_QUESTION_WIDGET: "RadioQuestionWidget",
|
RADIO_QUESTION_WIDGET: "RadioQuestionWidget",
|
||||||
VEHICLE_BANNER_WIDGET: "VehicleBannerWidget",
|
VEHICLE_BANNER_WIDGET: "VehicleBannerWidget",
|
||||||
SITE_HEADER_WIDGET: "SiteHeaderWidget",
|
FUNNEL_HEADER_WIDGET: "FunnelHeaderWidget",
|
||||||
};
|
};
|
||||||
|
|
||||||
export { widgetNames };
|
export { widgetNames };
|
||||||
|
|
|
||||||
|
|
@ -15,13 +15,13 @@ describe("cms-content-helper.js", () => {
|
||||||
const cmsMockData = {
|
const cmsMockData = {
|
||||||
Result: [
|
Result: [
|
||||||
{
|
{
|
||||||
Type: "PageHeaderWidget",
|
Type: "FunnelSubHeaderWidget",
|
||||||
Model: {
|
Model: {
|
||||||
HeaderText: "Select a year to get started",
|
HeaderText: "Select a year to get started",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Type: "PageHeaderWidget",
|
Type: "FunnelSubHeaderWidget",
|
||||||
Model: {
|
Model: {
|
||||||
HeaderText: "Select a model",
|
HeaderText: "Select a model",
|
||||||
},
|
},
|
||||||
|
|
@ -40,7 +40,7 @@ describe("cms-content-helper.js", () => {
|
||||||
// Act
|
// Act
|
||||||
fetchCmsContentForPage("testPage").then((response) => {
|
fetchCmsContentForPage("testPage").then((response) => {
|
||||||
// Assert
|
// Assert
|
||||||
expect(response.PageHeaderWidget[0].HeaderText).toEqual(
|
expect(response.FunnelSubHeaderWidget[0].HeaderText).toEqual(
|
||||||
"Select a year to get started"
|
"Select a year to get started"
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
@ -53,7 +53,7 @@ describe("cms-content-helper.js", () => {
|
||||||
const cmsMockData = {
|
const cmsMockData = {
|
||||||
Result: [
|
Result: [
|
||||||
{
|
{
|
||||||
Type: "PageHeaderWidget",
|
Type: "FunnelSubHeaderWidget",
|
||||||
Model: {
|
Model: {
|
||||||
HeaderText: "{globalState:order.vehicle.year}",
|
HeaderText: "{globalState:order.vehicle.year}",
|
||||||
},
|
},
|
||||||
|
|
@ -65,7 +65,7 @@ describe("cms-content-helper.js", () => {
|
||||||
|
|
||||||
fetchCmsContentForPage("testPage").then((response) => {
|
fetchCmsContentForPage("testPage").then((response) => {
|
||||||
// Assert
|
// Assert
|
||||||
expect(response.PageHeaderWidget[0].HeaderText).toEqual(
|
expect(response.FunnelSubHeaderWidget[0].HeaderText).toEqual(
|
||||||
"2019"
|
"2019"
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
@ -78,7 +78,7 @@ describe("cms-content-helper.js", () => {
|
||||||
const cmsMockData = {
|
const cmsMockData = {
|
||||||
Result: [
|
Result: [
|
||||||
{
|
{
|
||||||
Type: "PageHeaderWidget",
|
Type: "FunnelSubHeaderWidget",
|
||||||
Model: {
|
Model: {
|
||||||
HeaderText: "{globalState:order.vehicle.year}",
|
HeaderText: "{globalState:order.vehicle.year}",
|
||||||
},
|
},
|
||||||
|
|
@ -96,7 +96,7 @@ describe("cms-content-helper.js", () => {
|
||||||
|
|
||||||
fetchCmsContentForPage("testPage").then((response) => {
|
fetchCmsContentForPage("testPage").then((response) => {
|
||||||
// Assert
|
// Assert
|
||||||
expect(response.PageHeaderWidget[0].HeaderText).toEqual("2019");
|
expect(response.FunnelSubHeaderWidget[0].HeaderText).toEqual("2019");
|
||||||
expect(response.RadioQuestionWidget[0].ExampleText).toEqual("My widget value!");
|
expect(response.RadioQuestionWidget[0].ExampleText).toEqual("My widget value!");
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
@ -109,7 +109,7 @@ describe("cms-content-helper.js", () => {
|
||||||
const cmsMockData = {
|
const cmsMockData = {
|
||||||
Result: [
|
Result: [
|
||||||
{
|
{
|
||||||
Type: "PageHeaderWidget",
|
Type: "FunnelSubHeaderWidget",
|
||||||
Model: {
|
Model: {
|
||||||
HeaderText: "{globalState:order.vehicle.year}",
|
HeaderText: "{globalState:order.vehicle.year}",
|
||||||
},
|
},
|
||||||
|
|
@ -130,7 +130,7 @@ describe("cms-content-helper.js", () => {
|
||||||
fetchCmsContentForPage("testPage").then((response) => {
|
fetchCmsContentForPage("testPage").then((response) => {
|
||||||
// Assert
|
// Assert
|
||||||
|
|
||||||
expect(response.PageHeaderWidget[0].HeaderText).toEqual("2019");
|
expect(response.FunnelSubHeaderWidget[0].HeaderText).toEqual("2019");
|
||||||
expect(response.RadioQuestionWidget[0].OtherObjectInside.ExampleText).toEqual("Acura");
|
expect(response.RadioQuestionWidget[0].OtherObjectInside.ExampleText).toEqual("Acura");
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ describe("vehicle-make.vue", () => {
|
||||||
test("Page header is passed data from CMS", async (done) => {
|
test("Page header is passed data from CMS", async (done) => {
|
||||||
|
|
||||||
//Arrange
|
//Arrange
|
||||||
const { wrapper, apiPromise } = setupMocks( { pageHeaderWidgetHeaderText: "Select a make to get started" });
|
const { wrapper, apiPromise } = setupMocks( { funnelSubHeaderWidgetHeaderText: "Select a make to get started" });
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
vehicleMake.beforeRouteEnter.call(wrapper.vm, { query: { fmgPage: "vehicle-make" } }, undefined, (c) => c(wrapper.vm));
|
vehicleMake.beforeRouteEnter.call(wrapper.vm, { query: { fmgPage: "vehicle-make" } }, undefined, (c) => c(wrapper.vm));
|
||||||
|
|
@ -55,7 +55,7 @@ describe("vehicle-make.vue", () => {
|
||||||
|
|
||||||
//Arrange
|
//Arrange
|
||||||
const { wrapper, apiPromise } = setupMocks( {
|
const { wrapper, apiPromise } = setupMocks( {
|
||||||
pageHeaderWidgetHeaderText: "Select a make to get started",
|
funnelSubHeaderWidgetHeaderText: "Select a make to get started",
|
||||||
mountOptionsMockData: {
|
mountOptionsMockData: {
|
||||||
router: {
|
router: {
|
||||||
navigate: jest.fn()
|
navigate: jest.fn()
|
||||||
|
|
@ -79,14 +79,14 @@ describe("vehicle-make.vue", () => {
|
||||||
function setupMocks({
|
function setupMocks({
|
||||||
radioQuestionCmsContent = {},
|
radioQuestionCmsContent = {},
|
||||||
makeQuestionInitialData = {},
|
makeQuestionInitialData = {},
|
||||||
pageHeaderWidgetHeaderText = {},
|
funnelSubHeaderWidgetHeaderText = {},
|
||||||
mountOptionsMockData = {},
|
mountOptionsMockData = {},
|
||||||
}) {
|
}) {
|
||||||
|
|
||||||
//Mock api responses
|
//Mock api responses
|
||||||
const apiResponses = {
|
const apiResponses = {
|
||||||
cmsContent: {
|
cmsContent: {
|
||||||
PageHeaderWidget: [{ HeaderText: pageHeaderWidgetHeaderText }],
|
FunnelSubHeaderWidget: [{ HeaderText: funnelSubHeaderWidgetHeaderText }],
|
||||||
RadioQuestionWidget: [radioQuestionCmsContent],
|
RadioQuestionWidget: [radioQuestionCmsContent],
|
||||||
VehicleBannerWidget: [
|
VehicleBannerWidget: [
|
||||||
{
|
{
|
||||||
|
|
@ -94,7 +94,7 @@ function setupMocks({
|
||||||
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/blurred-image.jpg?sfvrsn=a6ce3034_3",
|
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/blurred-image.jpg?sfvrsn=a6ce3034_3",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
SiteHeaderWidget: [
|
FunnelHeaderWidget: [
|
||||||
{
|
{
|
||||||
LogoImage:
|
LogoImage:
|
||||||
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/safelite-logo.svg?sfvrsn=45e7ed06_3",
|
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/safelite-logo.svg?sfvrsn=45e7ed06_3",
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="container-fluid shadow rounded-3 p-0">
|
<div class="container-fluid shadow rounded-3 p-0">
|
||||||
<funnelHeader :imageSrc="siteHeaderWidget.LogoImage" />
|
<funnelHeader :imageSrc="funnelHeaderWidget.LogoImage" />
|
||||||
<div class="select-car">
|
<div class="select-car">
|
||||||
<div class="select-car-form rounded text-center">
|
<div class="select-car-form rounded text-center">
|
||||||
<vehicleBanner :vehicleImageSrc="vehicleBannerWidget.GenericVehicleImage" />
|
<vehicleBanner :vehicleImageSrc="vehicleBannerWidget.GenericVehicleImage" />
|
||||||
<funnelSubHeader
|
<funnelSubHeader
|
||||||
:text="pageHeaderWidgets.HeaderText"
|
:text="funnelSubHeaderWidget.HeaderText"
|
||||||
:hasBackButton="true"
|
:hasBackButton="true"
|
||||||
backButtonAccessibleText="Change Vehicle Year"
|
backButtonAccessibleText="Change Vehicle Year"
|
||||||
:backButtonAction="backButtonAction"
|
:backButtonAction="backButtonAction"
|
||||||
|
|
@ -30,8 +30,8 @@ export default {
|
||||||
name: "vehicle-make",
|
name: "vehicle-make",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageHeaderWidgets: {},
|
funnelSubHeaderWidget: {},
|
||||||
siteHeaderWidget: {},
|
funnelHeaderWidget: {},
|
||||||
vehicleBannerWidget: {},
|
vehicleBannerWidget: {},
|
||||||
selectedMake: null,
|
selectedMake: null,
|
||||||
};
|
};
|
||||||
|
|
@ -58,8 +58,8 @@ export default {
|
||||||
settleAllPromises(promiseResultMap).then((resultMap) => {
|
settleAllPromises(promiseResultMap).then((resultMap) => {
|
||||||
// Call the "next" function to complete the transition to this page.
|
// Call the "next" function to complete the transition to this page.
|
||||||
next((vm) => {
|
next((vm) => {
|
||||||
vm.pageHeaderWidgets = resultMap.cmsContent.PageHeaderWidget[0];
|
vm.funnelSubHeaderWidget = resultMap.cmsContent.FunnelSubHeaderWidget[0];
|
||||||
vm.siteHeaderWidget = resultMap.cmsContent.SiteHeaderWidget[0];
|
vm.funnelHeaderWidget = resultMap.cmsContent.FunnelHeaderWidget[0];
|
||||||
vm.vehicleBannerWidget = resultMap.cmsContent.VehicleBannerWidget[0];
|
vm.vehicleBannerWidget = resultMap.cmsContent.VehicleBannerWidget[0];
|
||||||
vm.$refs.makeQuestion.initializeComponent(resultMap.cmsContent.RadioQuestionWidget[0], resultMap.makeQuestionInitialData);
|
vm.$refs.makeQuestion.initializeComponent(resultMap.cmsContent.RadioQuestionWidget[0], resultMap.makeQuestionInitialData);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ describe("vehicle-model.vue", () => {
|
||||||
test("Page header is passed data from CMS", async (done) => {
|
test("Page header is passed data from CMS", async (done) => {
|
||||||
|
|
||||||
//Arange
|
//Arange
|
||||||
const { wrapper, apiPromise } = setupMocks( { pageHeaderWidgetHeaderText: "Select a model to get started" });
|
const { wrapper, apiPromise } = setupMocks( { funnelSubHeaderWidgetHeaderText: "Select a model to get started" });
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
vehicleModel.beforeRouteEnter.call(wrapper.vm, { query: { fmgPage: "vehicle-model" } }, undefined, (c) => c(wrapper.vm));
|
vehicleModel.beforeRouteEnter.call(wrapper.vm, { query: { fmgPage: "vehicle-model" } }, undefined, (c) => c(wrapper.vm));
|
||||||
|
|
@ -53,13 +53,13 @@ describe("vehicle-model.vue", () => {
|
||||||
function setupMocks({
|
function setupMocks({
|
||||||
radioQuestionCmsContent = {},
|
radioQuestionCmsContent = {},
|
||||||
modelQuestionInitialData = {},
|
modelQuestionInitialData = {},
|
||||||
pageHeaderWidgetHeaderText = {},
|
funnelSubHeaderWidgetHeaderText = {},
|
||||||
}) {
|
}) {
|
||||||
|
|
||||||
//Mock api responses
|
//Mock api responses
|
||||||
const apiResponses = {
|
const apiResponses = {
|
||||||
cmsContent: {
|
cmsContent: {
|
||||||
PageHeaderWidget: [{ HeaderText: pageHeaderWidgetHeaderText }],
|
FunnelSubHeaderWidget: [{ HeaderText: funnelSubHeaderWidgetHeaderText }],
|
||||||
RadioQuestionWidget: [radioQuestionCmsContent],
|
RadioQuestionWidget: [radioQuestionCmsContent],
|
||||||
VehicleBannerWidget: [
|
VehicleBannerWidget: [
|
||||||
{
|
{
|
||||||
|
|
@ -67,7 +67,7 @@ function setupMocks({
|
||||||
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/blurred-image.jpg?sfvrsn=a6ce3034_3",
|
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/blurred-image.jpg?sfvrsn=a6ce3034_3",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
SiteHeaderWidget: [
|
FunnelHeaderWidget: [
|
||||||
{
|
{
|
||||||
LogoImage:
|
LogoImage:
|
||||||
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/safelite-logo.svg?sfvrsn=45e7ed06_3",
|
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/safelite-logo.svg?sfvrsn=45e7ed06_3",
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="container-fluid shadow rounded-3 p-0">
|
<div class="container-fluid shadow rounded-3 p-0">
|
||||||
<funnelHeader :imageSrc="siteHeaderWidget.LogoImage" />
|
<funnelHeader :imageSrc="funnelHeaderWidget.LogoImage" />
|
||||||
<div class="select-car">
|
<div class="select-car">
|
||||||
<div class="select-car-form rounded text-center">
|
<div class="select-car-form rounded text-center">
|
||||||
<vehicleBanner :vehicleImageSrc="vehicleBannerWidget.GenericVehicleImage" />
|
<vehicleBanner :vehicleImageSrc="vehicleBannerWidget.GenericVehicleImage" />
|
||||||
<funnelSubHeader
|
<funnelSubHeader
|
||||||
:text="pageHeaderWidgets.HeaderText"
|
:text="funnelSubHeaderWidget.HeaderText"
|
||||||
:hasBackButton="true"
|
:hasBackButton="true"
|
||||||
backButtonAccessibleText="Change Vehicle Make"
|
backButtonAccessibleText="Change Vehicle Make"
|
||||||
:backButtonAction="backButtonAction"
|
:backButtonAction="backButtonAction"
|
||||||
|
|
@ -30,8 +30,8 @@ export default {
|
||||||
name: "vehicle-model",
|
name: "vehicle-model",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageHeaderWidgets: {},
|
funnelSubHeaderWidget: {},
|
||||||
siteHeaderWidget: {},
|
funnelHeaderWidget: {},
|
||||||
vehicleBannerWidget: {},
|
vehicleBannerWidget: {},
|
||||||
selectedModel: null,
|
selectedModel: null,
|
||||||
};
|
};
|
||||||
|
|
@ -58,8 +58,8 @@ export default {
|
||||||
settleAllPromises(promiseResultMap).then((resultMap) => {
|
settleAllPromises(promiseResultMap).then((resultMap) => {
|
||||||
// Call the "next" function to complete the transition to this page.
|
// Call the "next" function to complete the transition to this page.
|
||||||
next((vm) => {
|
next((vm) => {
|
||||||
vm.pageHeaderWidgets = resultMap.cmsContent.PageHeaderWidget[0];
|
vm.funnelSubHeaderWidget = resultMap.cmsContent.FunnelSubHeaderWidget[0];
|
||||||
vm.siteHeaderWidget = resultMap.cmsContent.SiteHeaderWidget[0];
|
vm.funnelHeaderWidget = resultMap.cmsContent.FunnelHeaderWidget[0];
|
||||||
vm.vehicleBannerWidget = resultMap.cmsContent.VehicleBannerWidget[0];
|
vm.vehicleBannerWidget = resultMap.cmsContent.VehicleBannerWidget[0];
|
||||||
vm.$refs.modelQuestion.initializeComponent(resultMap.cmsContent.RadioQuestionWidget[0], resultMap.modelQuestionInitialData);
|
vm.$refs.modelQuestion.initializeComponent(resultMap.cmsContent.RadioQuestionWidget[0], resultMap.modelQuestionInitialData);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ describe("vehicle-style.vue", () => {
|
||||||
test("Page header is passed data from CMS", async (done) => {
|
test("Page header is passed data from CMS", async (done) => {
|
||||||
|
|
||||||
//Arrange
|
//Arrange
|
||||||
const { wrapper, apiPromise } = setupMocks( { pageHeaderWidgetHeaderText: "Select a style to get started" });
|
const { wrapper, apiPromise } = setupMocks( { funnelSubHeaderWidgetHeaderText: "Select a style to get started" });
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
vehicleStyle.beforeRouteEnter.call(wrapper.vm, { query: { fmgPage: "vehicle-style" } }, undefined, (c) => c(wrapper.vm));
|
vehicleStyle.beforeRouteEnter.call(wrapper.vm, { query: { fmgPage: "vehicle-style" } }, undefined, (c) => c(wrapper.vm));
|
||||||
|
|
@ -55,7 +55,7 @@ describe("vehicle-style.vue", () => {
|
||||||
|
|
||||||
//Arrange
|
//Arrange
|
||||||
const { wrapper, apiPromise } = setupMocks( {
|
const { wrapper, apiPromise } = setupMocks( {
|
||||||
pageHeaderWidgetHeaderText: "Select a style to get started",
|
funnelSubHeaderWidgetHeaderText: "Select a style to get started",
|
||||||
mountOptionsMockData: {
|
mountOptionsMockData: {
|
||||||
router: {
|
router: {
|
||||||
navigate: jest.fn()
|
navigate: jest.fn()
|
||||||
|
|
@ -79,14 +79,14 @@ describe("vehicle-style.vue", () => {
|
||||||
function setupMocks({
|
function setupMocks({
|
||||||
radioQuestionCmsContent = {},
|
radioQuestionCmsContent = {},
|
||||||
styleQuestionInitialData = {},
|
styleQuestionInitialData = {},
|
||||||
pageHeaderWidgetHeaderText = {},
|
funnelSubHeaderWidgetHeaderText = {},
|
||||||
mountOptionsMockData = {},
|
mountOptionsMockData = {},
|
||||||
}) {
|
}) {
|
||||||
|
|
||||||
//Mock api responses
|
//Mock api responses
|
||||||
const apiResponses = {
|
const apiResponses = {
|
||||||
cmsContent: {
|
cmsContent: {
|
||||||
PageHeaderWidget: [{ HeaderText: pageHeaderWidgetHeaderText }],
|
FunnelSubHeaderWidget: [{ HeaderText: funnelSubHeaderWidgetHeaderText }],
|
||||||
RadioQuestionWidget: [radioQuestionCmsContent],
|
RadioQuestionWidget: [radioQuestionCmsContent],
|
||||||
VehicleBannerWidget: [
|
VehicleBannerWidget: [
|
||||||
{
|
{
|
||||||
|
|
@ -94,7 +94,7 @@ function setupMocks({
|
||||||
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/blurred-image.jpg?sfvrsn=a6ce3034_3",
|
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/blurred-image.jpg?sfvrsn=a6ce3034_3",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
SiteHeaderWidget: [
|
FunnelHeaderWidget: [
|
||||||
{
|
{
|
||||||
LogoImage:
|
LogoImage:
|
||||||
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/safelite-logo.svg?sfvrsn=45e7ed06_3",
|
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/safelite-logo.svg?sfvrsn=45e7ed06_3",
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="container-fluid shadow rounded-3 p-0">
|
<div class="container-fluid shadow rounded-3 p-0">
|
||||||
<funnelHeader :imageSrc="siteHeaderWidget.LogoImage" />
|
<funnelHeader :imageSrc="funnelHeaderWidget.LogoImage" />
|
||||||
<div class="select-car">
|
<div class="select-car">
|
||||||
<div class="select-car-form rounded text-center">
|
<div class="select-car-form rounded text-center">
|
||||||
<vehicleBanner :vehicleImageSrc="vehicleBannerWidget.GenericVehicleImage" />
|
<vehicleBanner :vehicleImageSrc="vehicleBannerWidget.GenericVehicleImage" />
|
||||||
<funnelSubHeader
|
<funnelSubHeader
|
||||||
:text="pageHeaderWidgets.HeaderText"
|
:text="funnelSubHeaderWidget.HeaderText"
|
||||||
:hasBackButton="true"
|
:hasBackButton="true"
|
||||||
backButtonAccessibleText="Change Vehicle Model"
|
backButtonAccessibleText="Change Vehicle Model"
|
||||||
:backButtonAction="backButtonAction"
|
:backButtonAction="backButtonAction"
|
||||||
|
|
@ -30,8 +30,8 @@ export default {
|
||||||
name: "vehicle-style",
|
name: "vehicle-style",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageHeaderWidgets: {},
|
funnelSubHeaderWidget: {},
|
||||||
siteHeaderWidget: {},
|
funnelHeaderWidget: {},
|
||||||
vehicleBannerWidget: {},
|
vehicleBannerWidget: {},
|
||||||
selectedStyle: null,
|
selectedStyle: null,
|
||||||
};
|
};
|
||||||
|
|
@ -58,8 +58,8 @@ export default {
|
||||||
settleAllPromises(promiseResultMap).then((resultMap) => {
|
settleAllPromises(promiseResultMap).then((resultMap) => {
|
||||||
// Call the "next" function to complete the transition to this page.
|
// Call the "next" function to complete the transition to this page.
|
||||||
next((vm) => {
|
next((vm) => {
|
||||||
vm.pageHeaderWidgets = resultMap.cmsContent.PageHeaderWidget[0];
|
vm.funnelSubHeaderWidget = resultMap.cmsContent.FunnelSubHeaderWidget[0];
|
||||||
vm.siteHeaderWidget = resultMap.cmsContent.SiteHeaderWidget[0];
|
vm.funnelHeaderWidget = resultMap.cmsContent.FunnelHeaderWidget[0];
|
||||||
vm.vehicleBannerWidget = resultMap.cmsContent.VehicleBannerWidget[0];
|
vm.vehicleBannerWidget = resultMap.cmsContent.VehicleBannerWidget[0];
|
||||||
vm.$refs.styleQuestion.initializeComponent(resultMap.cmsContent.RadioQuestionWidget[0], resultMap.styleQuestionInitialData);
|
vm.$refs.styleQuestion.initializeComponent(resultMap.cmsContent.RadioQuestionWidget[0], resultMap.styleQuestionInitialData);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ describe("vehicle-year.vue", () => {
|
||||||
test("Page header is passed data from CMS", async (done) => {
|
test("Page header is passed data from CMS", async (done) => {
|
||||||
|
|
||||||
//Arrange
|
//Arrange
|
||||||
const { wrapper, apiPromise } = setupMocks( { pageHeaderWidgetHeaderText: "Select a year to get started" });
|
const { wrapper, apiPromise } = setupMocks( { funnelSubHeaderWidgetHeaderText: "Select a year to get started" });
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
vehicleYear.beforeRouteEnter.call(wrapper.vm, { query: { fmgPage: "vehicle-year" } }, undefined, (c) => c(wrapper.vm));
|
vehicleYear.beforeRouteEnter.call(wrapper.vm, { query: { fmgPage: "vehicle-year" } }, undefined, (c) => c(wrapper.vm));
|
||||||
|
|
@ -53,14 +53,14 @@ describe("vehicle-year.vue", () => {
|
||||||
function setupMocks({
|
function setupMocks({
|
||||||
radioQuestionCmsContent = {},
|
radioQuestionCmsContent = {},
|
||||||
yearQuestionInitialData = {},
|
yearQuestionInitialData = {},
|
||||||
pageHeaderWidgetHeaderText = {},
|
funnelSubHeaderWidgetHeaderText = {},
|
||||||
mountOptionsMockData = {},
|
mountOptionsMockData = {},
|
||||||
}) {
|
}) {
|
||||||
|
|
||||||
//Mock api responses
|
//Mock api responses
|
||||||
const apiResponses = {
|
const apiResponses = {
|
||||||
cmsContent: {
|
cmsContent: {
|
||||||
PageHeaderWidget: [{ HeaderText: pageHeaderWidgetHeaderText }],
|
FunnelSubHeaderWidget: [{ HeaderText: funnelSubHeaderWidgetHeaderText }],
|
||||||
RadioQuestionWidget: [radioQuestionCmsContent],
|
RadioQuestionWidget: [radioQuestionCmsContent],
|
||||||
VehicleBannerWidget: [
|
VehicleBannerWidget: [
|
||||||
{
|
{
|
||||||
|
|
@ -68,7 +68,7 @@ function setupMocks({
|
||||||
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/blurred-image.jpg?sfvrsn=a6ce3034_3",
|
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/blurred-image.jpg?sfvrsn=a6ce3034_3",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
SiteHeaderWidget: [
|
FunnelHeaderWidget: [
|
||||||
{
|
{
|
||||||
LogoImage:
|
LogoImage:
|
||||||
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/safelite-logo.svg?sfvrsn=45e7ed06_3",
|
"https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/safelite-logo.svg?sfvrsn=45e7ed06_3",
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="container-fluid shadow rounded-3 p-0">
|
<div class="container-fluid shadow rounded-3 p-0">
|
||||||
<funnelHeader :imageSrc="siteHeaderWidget.LogoImage" />
|
<funnelHeader :imageSrc="funnelHeaderWidget.LogoImage" />
|
||||||
<div class="select-car">
|
<div class="select-car">
|
||||||
<div class="select-car-form rounded text-center">
|
<div class="select-car-form rounded text-center">
|
||||||
<vehicleBanner :vehicleImageSrc="vehicleBannerWidget.GenericVehicleImage" />
|
<vehicleBanner :vehicleImageSrc="vehicleBannerWidget.GenericVehicleImage" />
|
||||||
<funnelSubHeader
|
<funnelSubHeader
|
||||||
:text="pageHeaderWidgets.HeaderText"
|
:text="funnelSubHeaderWidget.HeaderText"
|
||||||
class="Header"
|
class="Header"
|
||||||
/>
|
/>
|
||||||
<yearQuestion v-model="selectedYear" ref="yearQuestion" />
|
<yearQuestion v-model="selectedYear" ref="yearQuestion" />
|
||||||
|
|
@ -28,8 +28,8 @@ export default {
|
||||||
name: "vehicle-year",
|
name: "vehicle-year",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageHeaderWidgets: {},
|
funnelSubHeaderWidget: {},
|
||||||
siteHeaderWidget: {},
|
funnelHeaderWidget: {},
|
||||||
vehicleBannerWidget: {},
|
vehicleBannerWidget: {},
|
||||||
selectedYear: null,
|
selectedYear: null,
|
||||||
};
|
};
|
||||||
|
|
@ -57,8 +57,8 @@ export default {
|
||||||
|
|
||||||
// Call the "next" function to complete the transition to this page.
|
// Call the "next" function to complete the transition to this page.
|
||||||
next((vm) => {
|
next((vm) => {
|
||||||
vm.pageHeaderWidgets = resultMap.cmsContent.PageHeaderWidget[0];
|
vm.funnelSubHeaderWidget = resultMap.cmsContent.FunnelSubHeaderWidget[0];
|
||||||
vm.siteHeaderWidget = resultMap.cmsContent.SiteHeaderWidget[0];
|
vm.funnelHeaderWidget = resultMap.cmsContent.FunnelHeaderWidget[0];
|
||||||
vm.vehicleBannerWidget = resultMap.cmsContent.VehicleBannerWidget[0];
|
vm.vehicleBannerWidget = resultMap.cmsContent.VehicleBannerWidget[0];
|
||||||
vm.$refs.yearQuestion.initializeComponent(resultMap.cmsContent.RadioQuestionWidget[0], resultMap.yearQuestionInitialData);
|
vm.$refs.yearQuestion.initializeComponent(resultMap.cmsContent.RadioQuestionWidget[0], resultMap.yearQuestionInitialData);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue