diff --git a/src/layouts/duplicate-check/duplicate-check.spec.js b/src/layouts/duplicate-check/duplicate-check.spec.js index 3a35ccdc..1295bf61 100644 --- a/src/layouts/duplicate-check/duplicate-check.spec.js +++ b/src/layouts/duplicate-check/duplicate-check.spec.js @@ -115,7 +115,7 @@ describe('duplicateCheck.vue', () => { vehicleYear: null, vehicleMake: getRandomString(5, 5), vehicleModel: getRandomString(5, 5), - responseDate: '09/23/1990T01:12:34', + responseDate: '1990-09-23T01:12:34', referralNumber } ] @@ -126,7 +126,7 @@ describe('duplicateCheck.vue', () => { main: mainInitialState } })]; - const expectedSubtext = '09/23/1990'; + const expectedSubtext = '9/23/1990'; const wrapper = shallowMount(duplicateCheck, mountOptions); @@ -152,7 +152,7 @@ describe('duplicateCheck.vue', () => { vehicleYear: getRandomString(6, 6), vehicleMake: null, vehicleModel: getRandomString(5, 5), - responseDate: '11/01/2004T01:12:34', + responseDate: '2004-11-01T01:12:34', referralNumber } ] @@ -189,7 +189,7 @@ describe('duplicateCheck.vue', () => { vehicleYear: getRandomString(6, 6), vehicleMake: getRandomString(6, 6), vehicleModel: null, - responseDate: '02/30/1999T01:12:34', + responseDate: '1999-02-30T01:12:34', referralNumber } ] @@ -200,7 +200,7 @@ describe('duplicateCheck.vue', () => { main: mainInitialState } })]; - const expectedSubtext = '02/30/1999'; + const expectedSubtext = '2/30/1999'; const wrapper = shallowMount(duplicateCheck, mountOptions); @@ -226,7 +226,7 @@ describe('duplicateCheck.vue', () => { vehicleYear: 'YEAR', vehicleMake: 'make', vehicleModel: 'MoDel', - responseDate: '03/01/2018T01:12:34', + responseDate: '2018-03-01T01:12:34', referralNumber } ] @@ -238,7 +238,7 @@ describe('duplicateCheck.vue', () => { } })]; const expectedVehicle = 'Year Make Model'; - const expectedDate = '03/01/2018'; + const expectedDate = '3/01/2018'; const wrapper = shallowMount(duplicateCheck, mountOptions); diff --git a/src/layouts/duplicate-check/duplicate-check.vue b/src/layouts/duplicate-check/duplicate-check.vue index d28c1176..6304399c 100644 --- a/src/layouts/duplicate-check/duplicate-check.vue +++ b/src/layouts/duplicate-check/duplicate-check.vue @@ -164,6 +164,7 @@ export default { * @summary Converts a date string from YYYY-MM-DDTHH:mm:ss to M-DD-YYYY */ getDateMinusTime(date) { + if (!date) { return ''; } const yyyyMmDd = date.substring(0, 10).split('-'); const year = yyyyMmDd[0]; const month = yyyyMmDd[1][0] === '0' diff --git a/src/layouts/schedule-page/schedule-page.spec.js b/src/layouts/schedule-page/schedule-page.spec.js index 1e348080..818cb55d 100644 --- a/src/layouts/schedule-page/schedule-page.spec.js +++ b/src/layouts/schedule-page/schedule-page.spec.js @@ -138,17 +138,6 @@ describe('schedule-page.vue', () => { // Assert expect(arePagePrerequisitesValid).toBeFalsy(); }); - test('Should fail arePagePrerequisitesValid without isInsurance', () => { - // Arrange - const { wrapper } = getShallowMountedComponent(); - wrapper.vm.mainStore.payment.isInsurance = null; - - // Act - const arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); - - // Assert - expect(arePagePrerequisitesValid).toBe(false); - }); test('Should fail arePagePrerequisitesValid if supportingItems is null', async () => { // Arrange const { wrapper } = getShallowMountedComponent(); diff --git a/src/layouts/schedule-page/schedule-page.vue b/src/layouts/schedule-page/schedule-page.vue index 673f32a0..27dd855a 100644 --- a/src/layouts/schedule-page/schedule-page.vue +++ b/src/layouts/schedule-page/schedule-page.vue @@ -328,14 +328,13 @@ export default { && ((serviceLocation.appointmentType === AppointmentTypeStrings.MOBILE || serviceLocation.appointmentType === AppointmentTypeStrings.MOBILE_NOT_ITAC) || serviceLocation.provider.providerNumber); - const paymentInfo = useMainStore().payment.isInsurance !== null; const supportingItems = useMainStore().lineItems.supportingItems !== null; const damageInfo = useMainStore().order.damage.isRepair || (useMainStore().order.lineItems?.glassParts != null && useMainStore().order.lineItems.glassParts.length > 0); - return serviceLocationPreReqs && paymentInfo && supportingItems && damageInfo; + return serviceLocationPreReqs && supportingItems && damageInfo; }, setData(initialShopTimeSlotsResponse, premiumFeeWithPriceResponse) { this.selectableDatesData = initialShopTimeSlotsResponse; diff --git a/src/store/index.js b/src/store/index.js index 965c9455..cb7cbd4c 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -118,7 +118,6 @@ const getDefaultState = () => ({ vaps: null }, payment: { - isInsurance: true, // TODO delete; irrelevant to ISS insuranceCoverage: { isVerified: false, coverageStatus: coverageStatuses.PENDING, @@ -636,7 +635,7 @@ export const useMainStore = defineStore({ }, getMobilePremiumFee() { const damageType = this.damage.isRepair ? 'Repair' : 'Replace'; - const paymentType = this.order.payment.isInsurance ? 'Insurance' : 'Cash'; + const paymentType = 'Insurance'; return globalMethods.callHttpClient({ method: endpoints.GetMobilePremiumFee.method, @@ -998,7 +997,6 @@ export const useMainStore = defineStore({ coverageStatus: payment.insuranceCoverage?.coverageStatus, claimNumber: payment.insuranceCoverage?.claimNumber }, - isInsurance: payment.isInsurance ?? true, parentAccountNumber: this.issConfig.parentAccountNumber }, serviceLocation: { @@ -1057,111 +1055,114 @@ export const useMainStore = defineStore({ parentAccountNumber: issConfig.parentAccountNumber, referralCorrelationId: order.referralCorrelationId } - }).then((result) => { - if (!result) { + }).then((response) => { + const { data } = response; + if (!data) { // TODO how should we handle this case? - return resolve(result); + return resolve(data); } - applicationUser.crmCustomerId = result.applicationUser?.crmCustomerId; - applicationUser.experiments = result.applicationUser?.experiments; - applicationUser.lastPageVisited = result.applicationUser?.lastPage; - applicationUser.pageData = result.applicationUser?.pageData; - applicationUser.savedSessionId = result.applicationUser?.savedSessionId; // TODO this might just be what is passed - applicationUser.hasSentSaveQuoteEmail = result.applicationUser?.hasSentSaveQuoteEmail; + applicationUser.crmCustomerId = data.applicationUser?.crmCustomerId; + applicationUser.experiments = data.applicationUser?.experiments ?? []; + applicationUser.lastPageVisited = data.applicationUser?.lastPage; + applicationUser.pageData = data.applicationUser?.pageData ?? {}; + applicationUser.savedSessionId = data.applicationUser?.savedSessionId; // TODO this might just be what is passed + applicationUser.hasSentSaveQuoteEmail = data.applicationUser?.hasSentSaveQuoteEmail; - order.vehicle.registration.licensePlate = result.order?.vehicle?.registration?.licensePlateNumber; - order.vehicle.imageUrl = result.order?.vehicle?.imageUrl; - order.vehicle.imageColor = result.order?.vehicle?.imageVifColor; - order.vehicle.imageVifNumber = result.order?.vehicle?.imageVifNumber; - order.vehicle.year = result.order?.vehicle?.year; - order.vehicle.make = result.order?.vehicle?.make; - order.vehicle.model = result.order?.vehicle?.model; - order.vehicle.style = result.order?.vehicle?.style; - order.vehicle.carId = result.order?.vehicle?.carId; - order.vehicle.category = result.order?.vehicle?.category; - order.vehicle.vin = result.order?.vehicle?.vin; + order.vehicle.registration.licensePlate = data.order?.vehicle?.registration?.licensePlateNumber; + order.vehicle.imageUrl = data.order?.vehicle?.imageUrl; + order.vehicle.imageColor = data.order?.vehicle?.imageVifColor; + order.vehicle.imageVifNumber = data.order?.vehicle?.imageVifNumber; + order.vehicle.year = data.order?.vehicle?.year; + order.vehicle.make = data.order?.vehicle?.make; + order.vehicle.model = data.order?.vehicle?.model; + order.vehicle.style = data.order?.vehicle?.style; + order.vehicle.carId = data.order?.vehicle?.carId; + order.vehicle.category = data.order?.vehicle?.category; + order.vehicle.vin = data.order?.vehicle?.vin; - order.customer.emailAddress = result.order?.customer?.emailAddress; - order.customer.firstName = result.order?.policy?.policyHolder?.policyFirstName; - order.customer.lastName = result.order?.policy?.policyHolder?.policyLastName; - order.customer.phoneNumber = result.order?.policy?.policyHolder?.policyPhoneNumber; + order.customer.emailAddress = data.order?.customer?.emailAddress; + order.customer.firstName = data.order?.policy?.policyHolder?.policyFirstName; + order.customer.lastName = data.order?.policy?.policyHolder?.policyLastName; + order.customer.phoneNumber = data.order?.policy?.policyHolder?.policyPhoneNumber; - order.customer.address.streetAddress = result.order?.customer?.address?.streetAddress; - order.customer.address.streetAddress2 = result.order?.customer?.address?.streetAddress2; - order.customer.address.city = result.order?.customer?.address?.city; - order.customer.address.state = result.order?.customer?.address?.state; - order.customer.address.zipCode = result.order?.customer?.address?.zipCode; + order.customer.address.streetAddress = data.order?.customer?.address?.streetAddress; + order.customer.address.streetAddress2 = data.order?.customer?.address?.streetAddress2; + order.customer.address.city = data.order?.customer?.address?.city; + order.customer.address.state = data.order?.customer?.address?.state; + order.customer.address.zipCode = data.order?.customer?.address?.zipCode; - order.damage.isRepair = result.order?.damage?.isRepair; - order.damage.numberOfChips = result.order?.damage?.numberOfChips; - order.damage.glassToReplace = result.order?.damage?.glassToReplace; - order.damage.capabilityQuestionAnswers = result.order?.damage?.capabilityQuestionAnswers; - order.damage.moldingQuestionAnswers = result.order?.damage?.moldingQuestionAnswers; - order.damage.partQuestionAnswers = result.order?.damage?.partQuestionAnswers; + order.damage.isRepair = data.order?.damage?.isRepair; + order.damage.numberOfChips = data.order?.damage?.numberOfChips; + order.damage.glassToReplace = data.order?.damage?.glassToReplace; + order.damage.capabilityQuestionAnswers = data.order?.damage?.capabilityQuestionAnswers; + order.damage.moldingQuestionAnswers = data.order?.damage?.moldingQuestionAnswers; + order.damage.partQuestionAnswers = data.order?.damage?.partQuestionAnswers; - order.policy.policyNumber = result.order?.policy?.policyNumber; - order.policy.policyZipCode = result.order?.policy?.policyZipCode; - order.policy.noCoverage = result.order?.policy?.noCoverage; - order.policy.policyLookupSuccessful = result.order?.policy?.policyLookupSuccessful; // TODO probably don't need to load this - order.policy.dateOfLoss = result.order?.damage?.dateOfLoss; - order.policy.damageCause = result.order?.damage?.damageCause; - order.policy.damageState = result.order?.damage?.damageState; - order.policy.damageCity = result.order?.damage?.damageCity; - order.policy.isDamageGlassOnly = result.order?.damage?.isDamageGlassOnly; + order.policy.policyNumber = data.order?.policy?.policyNumber; + order.policy.policyZipCode = data.order?.policy?.policyZipCode; + order.policy.noCoverage = data.order?.policy?.noCoverage; + order.policy.policyLookupSuccessful = data.order?.policy?.policyLookupSuccessful; // TODO probably don't need to load this + order.policy.dateOfLoss = data.order?.damage?.dateOfLoss; + order.policy.damageCause = data.order?.damage?.damageCause; + order.policy.damageState = data.order?.damage?.damageState; + order.policy.damageCity = data.order?.damage?.damageCity; + order.policy.isDamageGlassOnly = data.order?.damage?.isDamageGlassOnly; - order.originalDeductible = result.order?.policy?.originalDeductible; - order.currentDeductible = result.order?.policy?.currentDeductible; + order.originalDeductible = data.order?.policy?.originalDeductible; + order.currentDeductible = data.order?.policy?.currentDeductible; - order.lineItems.glassParts = result.order?.lineItems?.glassParts; + order.lineItems.glassParts = data.order?.lineItems?.glassParts; // TODO otherParts - order.lineItems.supportingItems = result.order?.lineItems?.supportingItems; - order.lineItems.vaps = result.order?.lineItems?.vaps; + order.lineItems.supportingItems = data.order?.lineItems?.supportingItems; + order.lineItems.vaps = data.order?.lineItems?.vaps; - order.payment.isInsurance = result.order?.payment?.isInsurance; - order.payment.insuranceCoverage.isVerified = result.order?.payment?.insuranceCoverage?.isVerified; - order.payment.insuranceCoverage.coverageStatus = result.order?.payment?.insuranceCoverage?.coverageStatus; - order.payment.parentAccountNumber = result.order?.payment?.parentAccountNumber; - issConfig.parentAccountNumber = result.order?.payment?.parentAccountNumber; - order.payment.insuranceCoverage.claimNumber = result.order?.payment?.insuranceCoverage?.claimNumber; + order.payment.insuranceCoverage.isVerified = data.order?.payment?.insuranceCoverage?.isVerified; + order.payment.insuranceCoverage.coverageStatus = data.order?.payment?.insuranceCoverage?.coverageStatus; + const parentAccountNumber = Number.isNaN(data.order?.payment?.parentAccountNumber) + ? 0 + : data.order?.payment?.parentAccountNumber; + order.payment.parentAccountNumber = parentAccountNumber; + issConfig.parentAccountNumber = parentAccountNumber; + order.payment.insuranceCoverage.claimNumber = data.order?.payment?.insuranceCoverage?.claimNumber; - order.serviceLocation.address = result.order?.serviceLocation?.streetAddress; - order.serviceLocation.address2 = result.order?.serviceLocation?.streetAddress2; - order.serviceLocation.city = result.order?.serviceLocation?.city; - order.serviceLocation.state = result.order?.serviceLocation?.state; - order.serviceLocation.zipCode = result.order?.serviceLocation?.zipCode; - order.serviceLocation.zipCodeCtu = result.order?.serviceLocation?.zipCodeCtu; - order.serviceLocation.appointmentType = result.order?.serviceLocation?.appointmentType; - order.serviceLocation.isVehicleProtected = result.order?.serviceLocation?.isVehicleProtected; - order.serviceLocation.provider.providerNumber = result.order?.serviceLocation?.provider?.providerNumber; - order.serviceLocation.provider.address.streetAddress = result.order?.serviceLocation?.provider?.address?.streetAddress; - order.serviceLocation.provider.address.city = result.order?.serviceLocation?.provider?.address?.city; - order.serviceLocation.provider.address.state = result.order?.serviceLocation?.provider?.address?.state; - order.serviceLocation.provider.address.zipCode = result.order?.serviceLocation?.provider?.address?.zipCode; - order.serviceLocation.provider.address.zipCodeCtu = result.order?.serviceLocation?.provider?.address?.zipCodeCtu; + order.serviceLocation.address = data.order?.serviceLocation?.streetAddress; + order.serviceLocation.address2 = data.order?.serviceLocation?.streetAddress2; + order.serviceLocation.city = data.order?.serviceLocation?.city; + order.serviceLocation.state = data.order?.serviceLocation?.state; + order.serviceLocation.zipCode = data.order?.serviceLocation?.zipCode; + order.serviceLocation.zipCodeCtu = data.order?.serviceLocation?.zipCodeCtu; + order.serviceLocation.appointmentType = data.order?.serviceLocation?.appointmentType; + order.serviceLocation.isVehicleProtected = data.order?.serviceLocation?.isVehicleProtected; + order.serviceLocation.provider.providerNumber = data.order?.serviceLocation?.provider?.providerNumber; + order.serviceLocation.provider.address.streetAddress = data.order?.serviceLocation?.provider?.address?.streetAddress; + order.serviceLocation.provider.address.city = data.order?.serviceLocation?.provider?.address?.city; + order.serviceLocation.provider.address.state = data.order?.serviceLocation?.provider?.address?.state; + order.serviceLocation.provider.address.zipCode = data.order?.serviceLocation?.provider?.address?.zipCode; + order.serviceLocation.provider.address.zipCodeCtu = data.order?.serviceLocation?.provider?.address?.zipCodeCtu; - order.contactInfo.firstName = result.order?.customer?.firstName; - order.contactInfo.lastName = result.order?.customer?.lastName; - order.contactInfo.emailAddress = result.order?.customer?.emailAddress; - order.contactInfo.phoneNumber = result.order?.customer?.phoneNumber; - order.contactInfo.requestTextUpdates = result.order?.customer?.isSmsOptIn; // TODO confirm - order.contactInfo.notesForTechnician = result.order?.serviceLocation?.techNotes; + order.contactInfo.firstName = data.order?.customer?.firstName; + order.contactInfo.lastName = data.order?.customer?.lastName; + order.contactInfo.emailAddress = data.order?.customer?.emailAddress; + order.contactInfo.phoneNumber = data.order?.customer?.phoneNumber; + order.contactInfo.requestTextUpdates = data.order?.customer?.isSmsOptIn; // TODO confirm + order.contactInfo.notesForTechnician = data.order?.serviceLocation?.techNotes; // TODO service phone number ?? // TODO isSmsOptIn service ?? - order.schedule.date = result.order?.schedule?.date; - order.schedule.startTime = result.order?.schedule?.startTime; - order.schedule.endTime = result.order?.schedule?.endTime; - order.schedule.routeCode = result.order?.schedule?.routeCode; - order.schedule.jobMaxMinutes = result.order?.schedule?.jobMaxMinutes; - order.schedule.jobMinMinutes = result.order?.schedule?.jobMinMinutes; + order.schedule.date = data.order?.schedule?.date; + order.schedule.startTime = data.order?.schedule?.startTime; + order.schedule.endTime = data.order?.schedule?.endTime; + order.schedule.routeCode = data.order?.schedule?.routeCode; + order.schedule.jobMaxMinutes = data.order?.schedule?.jobMaxMinutes; + order.schedule.jobMinMinutes = data.order?.schedule?.jobMinMinutes; - order.referralNumber = result.order?.referralNumber; - order.referralDate = result.order?.referralDate; - order.referralCorrelationId = result.order?.referralCorrelationId; - order.referralSequenceNumber = result.order?.referralSequenceNumber; - order.eon = result.order?.eon; + order.referralNumber = data.order?.referralNumber; + order.referralDate = data.order?.referralDate; + order.referralCorrelationId = data.order?.referralCorrelationId; + order.referralSequenceNumber = data.order?.referralSequenceNumber; + order.eon = data.order?.eon; // TODO order.workOrderNumber not set, but this likely is not an issue since WON => will not return - return resolve(result); + return resolve(data); }, (error) => { reject(error); });