From 610031f3244232acf46c031ada8efd6c619eb4e2 Mon Sep 17 00:00:00 2001 From: CarlNation Date: Tue, 25 Oct 2022 14:52:40 -0400 Subject: [PATCH 1/3] CSR-749 save-session additional data --- src/layouts/estimate/estimate.vue | 1 - src/store/index.js | 99 ++++++++++++++++++------------- 2 files changed, 58 insertions(+), 42 deletions(-) diff --git a/src/layouts/estimate/estimate.vue b/src/layouts/estimate/estimate.vue index faf2c8ed6..968b3c775 100644 --- a/src/layouts/estimate/estimate.vue +++ b/src/layouts/estimate/estimate.vue @@ -186,7 +186,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, { zipCode: this.serviceZipCode, diff --git a/src/store/index.js b/src/store/index.js index 250971bd9..0b50b0fdc 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -805,48 +805,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, + }, }, - }, - damage: { - numberOfChips: damage.numberOfChips, - glassToReplace: damage.glassToReplace, - 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, + customer: { + emailAddress: order.customer.emailAddress, + }, + damage: { + numberOfChips: damage.numberOfChips, + glassToReplace: damage.glassToReplace, + 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 + } }, }); }, From 3a674d64dc4c436f54676e5a71a9086aba357714 Mon Sep 17 00:00:00 2001 From: CarlNation Date: Tue, 25 Oct 2022 16:03:38 -0400 Subject: [PATCH 2/3] Fix broken test --- src/store/index.js | 6 +++--- src/store/store.spec.js | 21 ++++++++++++++++++++- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index 0b50b0fdc..5951a7cb8 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -834,9 +834,9 @@ export const actions = { emailAddress: order.customer.emailAddress, }, damage: { - numberOfChips: damage.numberOfChips, - glassToReplace: damage.glassToReplace, - isRepair: damage.isRepair, + numberOfChips: order.damage.numberOfChips, + glassToReplace: order.damage.glassToReplace, + isRepair: order.damage.isRepair, partQuestionAnswers: order.damage.partQuestionAnswers, moldingQuestionAnswers: order.damage.moldingQuestionAnswers, capabilityQuestionAnswers: order.damage.capabilityQuestionAnswers diff --git a/src/store/store.spec.js b/src/store/store.spec.js index 6ad366989..5bf50348b 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -603,7 +603,14 @@ describe("Actions", () => { vehicle: { registration: {} }, - damage: {}, + order:{ + damage: { + numberOfChips: "2", + partQuestionAnswers: {}, + moldingQuestionAnswers: {}, + capabilityQuestionAnswers: {} + } + }, applicationUser: { lastPageVisited: "test-page", crmCustomerId: "xxx-xxx-xxx", @@ -612,6 +619,18 @@ describe("Actions", () => { }; context.state = { order: { + damage: { + numberOfChips: "2", + partQuestionAnswers: {}, + moldingQuestionAnswers: {}, + capabilityQuestionAnswers: {} + }, + payment: { + insuranceCoverage: { + isVerified: false + }, + isInsurance: false + }, serviceLocation: {}, customer: {}, lineItems: {} From fd990a4526aa8666675637a1951cc5739c43565e Mon Sep 17 00:00:00 2001 From: CarlNation Date: Sat, 29 Oct 2022 05:10:39 -0400 Subject: [PATCH 3/3] CSR-749 reapply changes after merge conflict --- src/store/index.js | 97 ++++++++++++++++++++++++----------------- src/store/store.spec.js | 20 +++++++++ 2 files changed, 77 insertions(+), 40 deletions(-) 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: {},