diff --git a/src/layouts/estimate/estimate.vue b/src/layouts/estimate/estimate.vue index c5b4efd21..1f28d1e44 100644 --- a/src/layouts/estimate/estimate.vue +++ b/src/layouts/estimate/estimate.vue @@ -174,7 +174,6 @@ export default { async forwardButtonAction() { if (this.isRepair) { const zipCodeData = await this.getZipCodeData(this.serviceZipCode); - //todo: validation await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailAddress, false); await this.dispatchStoreAction( storeActions.SAVE_SERVICE_LOCATION, diff --git a/src/store/index.js b/src/store/index.js index 7630090be..6ff878aeb 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -916,48 +916,65 @@ export const actions = { method: endpoints.SaveSession.method, endpoint: endpoints.SaveSession.url, payload: { - vehicle: { - carId: vehicle.carId, - year: vehicle.year, - make: vehicle.make, - model: vehicle.model, - style: vehicle.style, - vin: vehicle.vin, - registration: { - firstName: vehicle.registration.firstName, - lastName: vehicle.registration.lastName, - streetAddress: vehicle.registration.address, - city: vehicle.registration.city, - state: vehicle.registration.state, - zipCode: vehicle.registration.zipCode, - licensePlateNumber: vehicle.registration.licensePlate, + applicationUser: { + crmCustomerId: applicationUser.crmCustomerId, + experiments: applicationUser.experiments, + lastPage: applicationUser.lastPageVisited, + pageData: applicationUser.pageData, + savedSessionId: applicationUser.savedSessionId, + }, + order: { + vehicle: { + carId: vehicle.carId, + year: vehicle.year, + make: vehicle.make, + model: vehicle.model, + style: vehicle.style, + vin: vehicle.vin, + registration: { + firstName: vehicle.registration.firstName, + lastName: vehicle.registration.lastName, + streetAddress: vehicle.registration.address, + city: vehicle.registration.city, + state: vehicle.registration.state, + zipCode: vehicle.registration.zipCode, + licensePlateNumber: vehicle.registration.licensePlate, + }, }, + customer: { + emailAddress: order.customer.emailAddress, + }, + damage: { + numberOfChips: damage.numberOfChips, + glassToReplace: newGlassToReplace, + isRepair: damage.isRepair, + partQuestionAnswers: order.damage.partQuestionAnswers, + moldingQuestionAnswers: order.damage.moldingQuestionAnswers, + capabilityQuestionAnswers: order.damage.capabilityQuestionAnswers, + }, + lineItems: { + glassParts: lineItems.glassParts, + }, + payment: { + InsuranceCoverage: { + isVerified: order.payment.insuranceCoverage.isVerified ?? false, + }, + isInsurance: order.payment.isInsurance ?? false, + }, + accountNumber: order.accountNumber?.toString(), + providerNumber: "", + serviceLocation: { + streetAddress: order.serviceLocation.address, + city: order.serviceLocation.city, + state: order.serviceLocation.state, + zipCode: order.serviceLocation.zipCode, + }, + existingPromoCode: null, + referralCorrelationId: order.referralCorrelationId, + referralDate: order.referralDate, + referralNumber: order.referralNumber?.toString(), // TODO It'd be nice to save these as strings in the first place + referralSequenceNumber: order.referralNumber?.toString(), // TODO Pass the referralSequence number once insurance flow creates it }, - damage: { - numberOfChips: damage.numberOfChips, - glassToReplace: newGlassToReplace, - isRepair: damage.isRepair, - }, - customer: { - emailAddress: order.customer.emailAddress, - }, - lineItems: { - glassParts: lineItems.glassParts, - }, - serviceLocation: { - streetAddress: order.serviceLocation.address, - city: order.serviceLocation.city, - state: order.serviceLocation.state, - zipCode: order.serviceLocation.zipCode, - }, - referralNumber: order.referralNumber?.toString(), // TODO It'd be nice to save these as strings in the first place - referralDate: order.referralDate, - accountNumber: order.accountNumber?.toString(), - existingPromoCode: null, - lastPage: applicationUser.lastPageVisited, - crmCustomerId: applicationUser.crmCustomerId, - savedSessionId: applicationUser.savedSessionId, - experiments: applicationUser.experiments, }, }); }, diff --git a/src/store/store.spec.js b/src/store/store.spec.js index 4409964b4..eb0807581 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -580,6 +580,14 @@ describe("Actions", () => { vehicle: { registration: {}, }, + order: { + damage: { + numberOfChips: "2", + partQuestionAnswers: {}, + moldingQuestionAnswers: {}, + capabilityQuestionAnswers: {}, + }, + }, damage: {}, applicationUser: { lastPageVisited: "test-page", @@ -589,6 +597,18 @@ describe("Actions", () => { }; context.state = { order: { + damage: { + numberOfChips: "2", + partQuestionAnswers: {}, + moldingQuestionAnswers: {}, + capabilityQuestionAnswers: {}, + }, + payment: { + insuranceCoverage: { + isVerified: false, + }, + isInsurance: false, + }, serviceLocation: {}, customer: {}, lineItems: {},