Fixing tests

This commit is contained in:
Michaela Brydon 2023-10-13 15:52:07 -04:00
parent 632343b1ee
commit f1fefe8bb0
5 changed files with 100 additions and 110 deletions

View file

@ -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);

View file

@ -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'

View file

@ -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();

View file

@ -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;

View file

@ -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);
});