CSR-2193 submittedOrder
CSR-2193 PR requested changes and test corrections
This commit is contained in:
parent
114d6a88ca
commit
3c54c6951e
7 changed files with 270 additions and 140 deletions
|
|
@ -41,9 +41,6 @@ export default {
|
|||
components: {
|
||||
calendarModalQuestion,
|
||||
},
|
||||
mounted() {
|
||||
this.submittedOrder = baseMixin.methods.getSubmittedOrder();
|
||||
},
|
||||
props: {
|
||||
mobileWidgetName: String,
|
||||
inShopWidgetName: String,
|
||||
|
|
@ -61,7 +58,6 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
selectedCalendarOption: null,
|
||||
submittedOrder: null,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
|
@ -116,10 +112,10 @@ export default {
|
|||
return this.getCmsContent(this.sameDayDropOffWidgetName, "BodyText");
|
||||
},
|
||||
UniqueId() {
|
||||
return this.submittedOrder?.referralNumber?.toString();
|
||||
return this.getSubmittedOrder()?.referralNumber?.toString();
|
||||
},
|
||||
ServiceType() {
|
||||
const isRepair = this.submittedOrder?.damage.isRepair;
|
||||
const isRepair = this.getSubmittedOrder()?.damage.isRepair;
|
||||
const funnelHasRecalibrationPart = store.getters.isRecalibrationOnSubmittedOrder;
|
||||
if (!isRepair) {
|
||||
if (funnelHasRecalibrationPart) {
|
||||
|
|
@ -131,7 +127,7 @@ export default {
|
|||
return serviceType.REPAIR;
|
||||
},
|
||||
RouteCode() {
|
||||
return this.submittedOrder?.schedule.routeCode;
|
||||
return this.getSubmittedOrder()?.schedule.routeCode;
|
||||
},
|
||||
Appointment() {
|
||||
var subject = "";
|
||||
|
|
@ -212,6 +208,9 @@ export default {
|
|||
},
|
||||
|
||||
methods: {
|
||||
getSubmittedOrder() {
|
||||
return baseMixin.methods.getSubmittedOrder();
|
||||
},
|
||||
setCalendarAppointment(calendarOption) {
|
||||
if (
|
||||
calendarOption.name == calendarOptions.ICAL ||
|
||||
|
|
|
|||
|
|
@ -19,67 +19,6 @@ beforeEach(() => {
|
|||
jest.restoreAllMocks();
|
||||
jest.clearAllMocks();
|
||||
store.getters = {
|
||||
submittedOrder: {
|
||||
schedule: {
|
||||
date: "2023-01-01",
|
||||
startTime: "09:00",
|
||||
endTime: "10:00",
|
||||
routeCode: "000",
|
||||
jobMaxMinutes: "120",
|
||||
jobMinMinutes: "60",
|
||||
},
|
||||
lineItems: {
|
||||
glassParts: [
|
||||
{
|
||||
partNumber: "ABC123",
|
||||
},
|
||||
],
|
||||
supportingItems: [],
|
||||
},
|
||||
serviceLocation: {
|
||||
address: "test",
|
||||
address2: "123",
|
||||
city: "test",
|
||||
state: "AZ",
|
||||
appointmentType: "Inshop",
|
||||
zipCode: "12345",
|
||||
zipCodeCtu: "01234",
|
||||
provider: {
|
||||
providerNumber: "123",
|
||||
address: {
|
||||
streetAddress: "test1",
|
||||
city: "test",
|
||||
state: "AZ",
|
||||
zipCode: "12345",
|
||||
zipCodeCtu: "01234",
|
||||
},
|
||||
},
|
||||
},
|
||||
damage: {
|
||||
isRepair: false,
|
||||
},
|
||||
payment: {
|
||||
isPia: true,
|
||||
isInsurance: false,
|
||||
insuranceCoverage: {
|
||||
coverageStatus: "test",
|
||||
},
|
||||
},
|
||||
policy: {
|
||||
isNoComp: false,
|
||||
currentDeductible: 1,
|
||||
insuranceCompanyName: "test name",
|
||||
},
|
||||
referralNumber: "1234567",
|
||||
vehicle: {
|
||||
year: "2004",
|
||||
make: "Ford",
|
||||
model: "F Series F250",
|
||||
},
|
||||
customer: {
|
||||
emailAddress: "test@test.com",
|
||||
},
|
||||
},
|
||||
order: {
|
||||
schedule: {
|
||||
date: "2023-01-01",
|
||||
|
|
@ -96,6 +35,7 @@ beforeEach(() => {
|
|||
supportingItems: [],
|
||||
},
|
||||
serviceLocation: {
|
||||
appointmentType: AppointmentTypeStrings.IN_SHOP,
|
||||
address: "test",
|
||||
address2: "123",
|
||||
city: "test",
|
||||
|
|
@ -180,6 +120,20 @@ describe("computed properties...", () => {
|
|||
test("ScheduleDateFormatted should return date in expected format.", () => {
|
||||
//Arrange
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
startTime: "09:00",
|
||||
endTime: "11:00",
|
||||
date: "2023-01-01",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.ScheduleDateFormatted;
|
||||
|
|
@ -189,11 +143,22 @@ describe("computed properties...", () => {
|
|||
});
|
||||
test("ScheduleTimeFormatted should return mobile time in expected format.", () => {
|
||||
//Arrange
|
||||
store.getters.submittedOrder.serviceLocation.appointmentType =
|
||||
AppointmentTypeStrings.MOBILE;
|
||||
store.getters.submittedOrder.schedule.startTime = "09:00";
|
||||
store.getters.submittedOrder.schedule.endTime = "11:00";
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
startTime: "09:00",
|
||||
endTime: "11:00",
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
wrapper.vm.submittedOrder.serviceLocation.appointmentType = AppointmentTypeStrings.MOBILE;
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.ScheduleTimeFormatted;
|
||||
|
|
@ -203,11 +168,22 @@ describe("computed properties...", () => {
|
|||
});
|
||||
test("ScheduleTimeFormatted should return DROP_OFF time in expected format.", () => {
|
||||
//Arrange
|
||||
store.getters.submittedOrder.serviceLocation.appointmentType =
|
||||
AppointmentTypeStrings.DROP_OFF;
|
||||
store.getters.submittedOrder.schedule.startTime = "09:00";
|
||||
store.getters.submittedOrder.schedule.endTime = "11:00";
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
startTime: "09:00",
|
||||
endTime: "11:00",
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
wrapper.vm.submittedOrder.serviceLocation.appointmentType = AppointmentTypeStrings.DROP_OFF;
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.ScheduleTimeFormatted;
|
||||
|
|
@ -217,11 +193,22 @@ describe("computed properties...", () => {
|
|||
});
|
||||
test("ScheduleTimeFormatted should return Inshop time in expected format.", () => {
|
||||
//Arrange
|
||||
store.getters.submittedOrder.serviceLocation.appointmentType =
|
||||
AppointmentTypeStrings.IN_SHOP;
|
||||
store.getters.submittedOrder.schedule.startTime = "09:00";
|
||||
store.getters.submittedOrder.schedule.endTime = "11:00";
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
startTime: "09:00",
|
||||
endTime: "11:00",
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
wrapper.vm.submittedOrder.serviceLocation.appointmentType = AppointmentTypeStrings.IN_SHOP;
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.ScheduleTimeFormatted;
|
||||
|
|
@ -231,10 +218,21 @@ describe("computed properties...", () => {
|
|||
});
|
||||
test("AppointmentWordingText should return mobile text in expected format.", () => {
|
||||
//Arrange
|
||||
store.getters.submittedOrder.serviceLocation.appointmentType =
|
||||
AppointmentTypeStrings.MOBILE;
|
||||
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
endTime: "10:00",
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
wrapper.vm.submittedOrder.serviceLocation.appointmentType = AppointmentTypeStrings.MOBILE;
|
||||
// Act
|
||||
const testValue = wrapper.vm.AppointmentWordingText;
|
||||
|
||||
|
|
@ -243,10 +241,21 @@ describe("computed properties...", () => {
|
|||
});
|
||||
test("AppointmentWordingText should return DROP_OFF text in expected format.", () => {
|
||||
//Arrange
|
||||
store.getters.submittedOrder.serviceLocation.appointmentType =
|
||||
AppointmentTypeStrings.DROP_OFF;
|
||||
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
endTime: "10:00",
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
wrapper.vm.submittedOrder.serviceLocation.appointmentType = AppointmentTypeStrings.DROP_OFF;
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.AppointmentWordingText;
|
||||
|
|
@ -256,10 +265,20 @@ describe("computed properties...", () => {
|
|||
});
|
||||
test("AppointmentWordingText should return IN_SHOP text in expected format.", () => {
|
||||
//Arrange
|
||||
store.getters.submittedOrder.serviceLocation.appointmentType =
|
||||
AppointmentTypeStrings.IN_SHOP;
|
||||
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
endTime: "10:00",
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.AppointmentWordingText;
|
||||
|
|
@ -280,6 +299,19 @@ describe("computed properties...", () => {
|
|||
test("ScheduleDate should return date in expected format.", () => {
|
||||
//Arrange
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
date: "2023-01-01",
|
||||
endTime: "10:00",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.ScheduleDate;
|
||||
|
|
@ -290,6 +322,19 @@ describe("computed properties...", () => {
|
|||
test("ScheduleStartTime should return time in expected format.", () => {
|
||||
//Arrange
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
startTime: "09:00",
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.ScheduleStartTime;
|
||||
|
|
@ -300,6 +345,19 @@ describe("computed properties...", () => {
|
|||
test("ScheduleEndTime should return time in expected format.", () => {
|
||||
//Arrange
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
endTime: "10:00",
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.ScheduleEndTime;
|
||||
|
|
@ -344,6 +402,18 @@ describe("computed properties...", () => {
|
|||
//Arrange
|
||||
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.ServiceLocationFullAddress;
|
||||
|
|
@ -355,6 +425,18 @@ describe("computed properties...", () => {
|
|||
//Arrange
|
||||
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
},
|
||||
serviceLocation: store.getters.order.serviceLocation
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.ProviderFullAddress;
|
||||
|
|
@ -366,6 +448,17 @@ describe("computed properties...", () => {
|
|||
//Arrange
|
||||
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
}
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.AppointmentDuration;
|
||||
|
|
@ -375,9 +468,18 @@ describe("computed properties...", () => {
|
|||
});
|
||||
test("Appointment Duration should return with correct duration values in expected format for hours.", () => {
|
||||
//Arrange
|
||||
store.getters.submittedOrder.schedule.jobMaxMinutes = 120;
|
||||
store.getters.submittedOrder.schedule.jobMinMinutes = 60;
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 120,
|
||||
jobMinMinutes: 60,
|
||||
routeCode: ""
|
||||
}
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.AppointmentDuration;
|
||||
|
|
@ -387,9 +489,18 @@ describe("computed properties...", () => {
|
|||
});
|
||||
test("Appointment Duration should return with correct duration values in expected format for minutes.", () => {
|
||||
//Arrange
|
||||
store.getters.submittedOrder.schedule.jobMaxMinutes = 45;
|
||||
store.getters.submittedOrder.schedule.jobMinMinutes = 30;
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 45,
|
||||
jobMinMinutes: 30,
|
||||
routeCode: ""
|
||||
}
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.AppointmentDuration;
|
||||
|
|
@ -400,10 +511,18 @@ describe("computed properties...", () => {
|
|||
|
||||
test("Appointment Duration should return with All Day.", () => {
|
||||
//Arrange
|
||||
store.getters.submittedOrder.schedule.jobMaxMinutes = 45;
|
||||
store.getters.submittedOrder.schedule.jobMinMinutes = 30;
|
||||
store.getters.submittedOrder.schedule.routeCode = RouteCodeFlags.ALL_DAY_DROP_OFF;
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 45,
|
||||
jobMinMinutes: 30,
|
||||
routeCode: RouteCodeFlags.ALL_DAY_DROP_OFF
|
||||
}
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.AppointmentDuration;
|
||||
|
|
@ -414,10 +533,18 @@ describe("computed properties...", () => {
|
|||
|
||||
test("Appointment Duration should return with Overnight.", () => {
|
||||
//Arrange
|
||||
store.getters.submittedOrder.schedule.jobMaxMinutes = 45;
|
||||
store.getters.submittedOrder.schedule.jobMinMinutes = 30;
|
||||
store.getters.submittedOrder.schedule.routeCode = RouteCodeFlags.OVERNIGHT_DROP_OFF;
|
||||
const { wrapper } = setupMocks({});
|
||||
wrapper.vm.submittedOrder = {
|
||||
vehicle: {
|
||||
imageUrl: ""
|
||||
},
|
||||
schedule: {
|
||||
date: "2024-09-28",
|
||||
jobMaxMinutes: 45,
|
||||
jobMinMinutes: 30,
|
||||
routeCode: RouteCodeFlags.OVERNIGHT_DROP_OFF
|
||||
}
|
||||
};
|
||||
|
||||
// Act
|
||||
const testValue = wrapper.vm.AppointmentDuration;
|
||||
|
|
@ -443,4 +570,4 @@ function setupMocks({ customMountOptions }) {
|
|||
];
|
||||
const wrapper = shallowMount(confirmation, mountOptions);
|
||||
return { wrapper };
|
||||
}
|
||||
}
|
||||
|
|
@ -109,12 +109,13 @@ import { getDisplayTextForDurationLength } from "@/helpers/duration-length-helpe
|
|||
export default {
|
||||
name: "confirmation",
|
||||
async beforeRouteEnter(to, from, next) {
|
||||
console.log("beforeRoute..");
|
||||
await baseMixin.methods.dispatchStoreAction(storeActions.CREATE_SUBMITTED_ORDER);
|
||||
|
||||
// Call APIs
|
||||
const cmsContentPromise = fetchCmsContentForPage(to.query.fmgPage);
|
||||
|
||||
var submittedOrder = baseMixin.methods.getSubmittedOrder();
|
||||
const submittedOrder = baseMixin.methods.getSubmittedOrder();
|
||||
|
||||
const wipersPromise = baseMixin.methods.dispatchStoreActionWithLogging(
|
||||
storeActions.GET_WIPERS,
|
||||
|
|
@ -193,16 +194,16 @@ export default {
|
|||
?.replaceAll(">", ">");
|
||||
},
|
||||
ScheduleDate() {
|
||||
return this.submittedOrder?.schedule.date;
|
||||
return this.submittedOrder?.schedule?.date;
|
||||
},
|
||||
AppointmentType() {
|
||||
return this.submittedOrder?.serviceLocation.appointmentType;
|
||||
return this.submittedOrder?.serviceLocation?.appointmentType;
|
||||
},
|
||||
ScheduleStartTime() {
|
||||
return this.submittedOrder?.schedule.startTime;
|
||||
return this.submittedOrder?.schedule?.startTime;
|
||||
},
|
||||
ScheduleEndTime() {
|
||||
return this.submittedOrder?.schedule.endTime;
|
||||
return this.submittedOrder?.schedule?.endTime;
|
||||
},
|
||||
InShopWordingText() {
|
||||
return this.getCmsContent("InShopWordingWidget", "BodyText");
|
||||
|
|
@ -214,31 +215,31 @@ export default {
|
|||
return this.getCmsContent("DropOffWordingWidget", "BodyText");
|
||||
},
|
||||
ServiceLocationAddress() {
|
||||
return this.submittedOrder?.serviceLocation.address;
|
||||
return this.submittedOrder?.serviceLocation?.address;
|
||||
},
|
||||
ServiceLocationAddress2() {
|
||||
return this.submittedOrder?.serviceLocation.address2;
|
||||
return this.submittedOrder?.serviceLocation?.address2;
|
||||
},
|
||||
ServiceLocationCity() {
|
||||
return this.submittedOrder?.serviceLocation.city;
|
||||
return this.submittedOrder?.serviceLocation?.city;
|
||||
},
|
||||
ServiceLocationState() {
|
||||
return this.submittedOrder?.serviceLocation.state;
|
||||
return this.submittedOrder?.serviceLocation?.state;
|
||||
},
|
||||
ServiceLocationZipCode() {
|
||||
return this.submittedOrder?.serviceLocation.zipCode;
|
||||
return this.submittedOrder?.serviceLocation?.zipCode;
|
||||
},
|
||||
ProviderAddress() {
|
||||
return this.submittedOrder?.serviceLocation.provider.address.streetAddress;
|
||||
return this.submittedOrder?.serviceLocation?.provider?.address?.streetAddress;
|
||||
},
|
||||
ProviderCity() {
|
||||
return this.submittedOrder?.serviceLocation.provider.address.city;
|
||||
return this.submittedOrder?.serviceLocation?.provider?.address?.city;
|
||||
},
|
||||
ProviderState() {
|
||||
return this.submittedOrder?.serviceLocation.provider.address.state;
|
||||
return this.submittedOrder?.serviceLocation?.provider?.address?.state;
|
||||
},
|
||||
ProviderZipCode() {
|
||||
return this.submittedOrder?.serviceLocation.provider.address.zipCode;
|
||||
return this.submittedOrder?.serviceLocation?.provider?.address?.zipCode;
|
||||
},
|
||||
AppointmentWordingText() {
|
||||
if (this.AppointmentType == AppointmentTypeStrings.MOBILE) {
|
||||
|
|
@ -296,13 +297,13 @@ export default {
|
|||
return this.submittedOrder?.damage;
|
||||
},
|
||||
isInsurance() {
|
||||
return this.submittedOrder?.payment.isInsurance;
|
||||
return this.submittedOrder?.payment?.isInsurance;
|
||||
},
|
||||
isNoComp() {
|
||||
return this.submittedOrder?.policy.isNoComp;
|
||||
return this.submittedOrder?.policy?.isNoComp;
|
||||
},
|
||||
isItac() {
|
||||
return this.submittedOrder?.policy.isItac;
|
||||
return this.submittedOrder?.policy?.isItac;
|
||||
},
|
||||
hasVapsInCart() {
|
||||
if (this.lineItems?.vaps?.length > 0) {
|
||||
|
|
@ -315,17 +316,17 @@ export default {
|
|||
if (this.isNoComp || this.isItac) {
|
||||
return coverageStatus.NOCOMP;
|
||||
} else {
|
||||
return this.submittedOrder?.payment.insuranceCoverage.coverageStatus;
|
||||
return this.submittedOrder?.payment?.insuranceCoverage?.coverageStatus;
|
||||
}
|
||||
},
|
||||
currentDeductible() {
|
||||
return this.submittedOrder?.policy.currentDeductible;
|
||||
return this.submittedOrder?.policy?.currentDeductible;
|
||||
},
|
||||
insuranceCompanyName() {
|
||||
return this.submittedOrder?.policy.insuranceCompanyName;
|
||||
return this.submittedOrder?.policy?.insuranceCompanyName;
|
||||
},
|
||||
isPia() {
|
||||
return this.submittedOrder?.payment.isPia;
|
||||
return this.submittedOrder?.payment?.isPia;
|
||||
},
|
||||
AppointmentDuration() {
|
||||
const durationMaximum = this.submittedOrder?.schedule?.jobMaxMinutes;
|
||||
|
|
|
|||
|
|
@ -306,8 +306,6 @@ export default {
|
|||
lineItems.vaps = lineItems.vaps ?? [];
|
||||
lineItems.vaps.push(...vapsToAddToCart);
|
||||
|
||||
var submittedOrder = baseMixin.methods.getSubmittedOrder();
|
||||
|
||||
// Call the "next" function to complete the transition to this page.
|
||||
next((vm) => {
|
||||
vm.setCmsContent(resultMap.cmsContent);
|
||||
|
|
@ -340,8 +338,6 @@ export default {
|
|||
validateAlerts[0].shouldAutoFade
|
||||
);
|
||||
}
|
||||
|
||||
vm.submittedOrder = submittedOrder;
|
||||
});
|
||||
},
|
||||
data() {
|
||||
|
|
@ -352,7 +348,6 @@ export default {
|
|||
inactivePromos: this.getInactivePromosFromStore(),
|
||||
isRecalAckOptIn: this.getIsRecalAckOptInFromStore(),
|
||||
forwardClicked: false, // this prevents the pia disclaimer from showing when switching to insurance and nav forward
|
||||
submittedOrder: null,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -579,6 +574,9 @@ export default {
|
|||
hasSubmittedOrder() {
|
||||
return baseMixin.methods.hasSubmittedOrder();
|
||||
},
|
||||
getSubmittedOrder() {
|
||||
return baseMixin.methods.getSubmittedOrder();
|
||||
},
|
||||
openModal(modalName) {
|
||||
this.$refs[modalName].openModal();
|
||||
},
|
||||
|
|
@ -602,17 +600,17 @@ export default {
|
|||
},
|
||||
isInsurance() {
|
||||
return this.hasSubmittedOrder()
|
||||
? this.submittedOrder?.payment.isInsurance
|
||||
? this.getSubmittedOrder()?.payment.isInsurance
|
||||
: this.$store.getters.payment.isInsurance;
|
||||
},
|
||||
isNoComp() {
|
||||
return this.hasSubmittedOrder()
|
||||
? this.submittedOrder?.policy.isNoComp
|
||||
? this.getSubmittedOrder()?.policy.isNoComp
|
||||
: this.$store.getters.policy.isNoComp;
|
||||
},
|
||||
isItac() {
|
||||
return this.hasSubmittedOrder()
|
||||
? this.submittedOrder?.policy.isItac
|
||||
? this.getSubmittedOrder()?.policy.isItac
|
||||
: this.$store.getters.policy.isItac;
|
||||
},
|
||||
hasVapsInCart() {
|
||||
|
|
@ -627,13 +625,13 @@ export default {
|
|||
return coverageStatus.NOCOMP;
|
||||
} else {
|
||||
return this.hasSubmittedOrder()
|
||||
? this.submittedOrder?.payment.insuranceCoverage.coverageStatus
|
||||
? this.getSubmittedOrder()?.payment.insuranceCoverage.coverageStatus
|
||||
: this.$store.getters.payment.insuranceCoverage.coverageStatus;
|
||||
}
|
||||
},
|
||||
currentDeductible() {
|
||||
return this.hasSubmittedOrder()
|
||||
? this.submittedOrder?.policy.currentDeductible
|
||||
? this.getSubmittedOrder()?.policy.currentDeductible
|
||||
: this.$store.getters.policy.currentDeductible;
|
||||
},
|
||||
insuranceCompanyName() {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ export default {
|
|||
const currentPageName = getPageNameByQueryString();
|
||||
await this.validateSession();
|
||||
|
||||
var submittedOrder = baseMixin.methods.getSubmittedOrder();
|
||||
const submittedOrder = baseMixin.methods.getSubmittedOrder();
|
||||
|
||||
const refSequenceNum =
|
||||
store.getters.order.referralSequenceNumber ||
|
||||
|
|
@ -128,7 +128,7 @@ export default {
|
|||
|
||||
// Get correct order object
|
||||
const hasSubmittedOrder = baseMixin.methods.hasSubmittedOrder();
|
||||
var submittedOrder = baseMixin.methods.getSubmittedOrder();
|
||||
const submittedOrder = baseMixin.methods.getSubmittedOrder();
|
||||
const order = hasSubmittedOrder ? submittedOrder : store.getters.order;
|
||||
|
||||
// Begin assembling payload for data layer
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import {
|
|||
getSessionKeyValue,
|
||||
getUserIdValue,
|
||||
} from "@/helpers/heritage-integration/cookie-helper";
|
||||
import baseMixin from "./base-mixin";
|
||||
|
||||
const parts = {
|
||||
windshield: {
|
||||
|
|
@ -470,8 +471,9 @@ describe("analyticsMixin.js", () => {
|
|||
test("Pushes correct data when submitted order is present", () => {
|
||||
// Arrange
|
||||
window.dataLayer = [];
|
||||
store.getters.hasSubmittedOrder = true;
|
||||
store.getters.submittedOrder = store.getters.order;
|
||||
baseMixin.methods.hasSubmittedOrder = jest.fn().mockReturnValue(true);
|
||||
baseMixin.methods.getSubmittedOrder = jest.fn().mockReturnValue(store.getters.order);
|
||||
|
||||
store.getters.order = {
|
||||
vehicle: {
|
||||
year: null,
|
||||
|
|
|
|||
|
|
@ -226,15 +226,16 @@ describe("baseMixin.js", () => {
|
|||
const payment = { insuranceCoverage: { isVerified: true } };
|
||||
const policy = { isNoComp: false, isItac: false, currentDeductible: 250 };
|
||||
|
||||
mixIn.methods.hasSubmittedOrder = jest.fn().mockReturnValue(true);
|
||||
mixIn.methods.getSubmittedOrder = jest.fn().mockReturnValue({
|
||||
payment: payment,
|
||||
policy: policy,
|
||||
});
|
||||
|
||||
store.getters = {
|
||||
payment: {},
|
||||
policy: {},
|
||||
order: {},
|
||||
submittedOrder: {
|
||||
payment: payment,
|
||||
policy: policy,
|
||||
},
|
||||
hasSubmittedOrder: true,
|
||||
};
|
||||
|
||||
var amtDue = mixIn.methods.getAmountDue(lineItems);
|
||||
|
|
@ -301,6 +302,8 @@ describe("baseMixin.js", () => {
|
|||
const payment = { isInsurance: null, insuranceCoverage: { isVerified: null } };
|
||||
const policy = { isNoComp: false, isItac: false, currentDeductible: 0 };
|
||||
|
||||
mixIn.methods.hasSubmittedOrder = jest.fn().mockReturnValue(false);
|
||||
|
||||
store.getters = {
|
||||
payment: payment,
|
||||
policy: policy,
|
||||
|
|
|
|||
Loading…
Reference in a new issue