Helper lemma for verifying existence of fields

This commit is contained in:
Chloe Herd 2024-02-14 13:01:29 -05:00
parent db9f5f38f7
commit 0514dc3387

View file

@ -121,6 +121,9 @@ export default {
},
pushOrderToDataLayer() {
// helper check for if an object is defined (but maybe falsey)
const isDefined = (x) => x !== null && x !== undefined;
// Get correct order object
const hasSubmittedOrder = store.getters.hasSubmittedOrder;
const order = hasSubmittedOrder ? store.getters.submittedOrder : store.getters.order;
@ -131,13 +134,13 @@ export default {
// Service Zip
if (
order.serviceLocation.appointmentType === AppointmentTypeStrings.MOBILE &&
order.serviceLocation.zipCode
isDefined(order.serviceLocation.zipCode)
) {
payload.serviceZipCode = order.serviceLocation.zipCode;
} else if (
order.serviceLocation.appointmentType &&
isDefined(order.serviceLocation.appointmentType) &&
order.serviceLocation.appointmentType !== AppointmentTypeStrings.MOBILE &&
order.serviceLocation.provider.address.zipCode
isDefined(order.serviceLocation.provider.address.zipCode)
) {
payload.serviceZipCode = order.serviceLocation.provider.address.zipCode;
} else {
@ -145,14 +148,14 @@ export default {
}
// Damage Type
if (order.damage.isRepair !== null && order.damage.isRepair !== undefined) {
if (isDefined(order.damage.isRepair)) {
payload.damageType = order.damage.isRepair ? "repair" : "replace";
} else {
payload.damageType = "";
}
// Account Type
if (order.payment.isInsurance !== null && order.payment.isInsurance !== undefined) {
if (isDefined(order.payment.isInsurance)) {
payload.accountType = order.payment.isInsurance ? "insurance" : "cash";
} else {
payload.accountType = "";
@ -169,26 +172,26 @@ export default {
}
// Vehicle info
if (order.vehicle.year !== null && order.vehicle.year !== undefined) {
if (isDefined(order.vehicle.year)) {
// Ensure cast to string.
payload.vehicleYear = `${order.vehicle.year}`;
} else {
payload.vehicleYear = "";
}
if (order.vehicle.make) {
if (isDefined(order.vehicle.make)) {
payload.vehicleMake = order.vehicle.make;
} else {
payload.vehicleMake = "";
}
if (order.vehicle.model) {
if (isDefined(order.vehicle.model)) {
payload.vehicleModel = order.vehicle.model;
} else {
payload.vehicleModel = "";
}
if (order.vehicle.style) {
if (isDefined(order.vehicle.style)) {
payload.vehicleStyle = order.vehicle.style;
} else {
payload.vehicleStyle = "";
@ -206,21 +209,21 @@ export default {
}
// Work Order Id
if (order.workOrderId) {
if (isDefined(order.workOrderId)) {
payload.workOrderId = parseInt(order.workOrderId);
} else {
payload.workOrderId = "";
}
// Provider Ctu
if (order.serviceLocation.zipCodeCtu) {
if (isDefined(order.serviceLocation.zipCodeCtu)) {
payload.providerCtu = parseInt(order.serviceLocation.zipCodeCtu);
} else {
payload.providerCtu = "";
}
// Work Order Number
if (order.workOrderNumber) {
if (isDefined(order.workOrderNumber)) {
payload.orderNumber = order.workOrderNumber;
} else {
payload.orderNumber = "";
@ -260,7 +263,7 @@ export default {
}
// Appointment Type
if (order.serviceLocation.appointmentType) {
if (isDefined(order.serviceLocation.appointmentType)) {
payload.appointmentType = order.serviceLocation.appointmentType;
} else {
payload.appointmentType = "";