Merge pull request #466 from Safelite/defect/digital/SSR-706

SSR-706 Fix Missing Fields in Save Session
This commit is contained in:
Josh Dassinger 2023-10-05 12:36:44 -05:00 committed by GitHub
commit 7cd086e905
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 6 deletions

View file

@ -121,7 +121,8 @@ const getDefaultState = () => ({
isInsurance: true, // TODO delete; irrelevant to ISS isInsurance: true, // TODO delete; irrelevant to ISS
insuranceCoverage: { insuranceCoverage: {
isVerified: false, isVerified: false,
coverageStatus: coverageStatuses.PENDING coverageStatus: coverageStatuses.PENDING,
claimNumber: null
}, },
parentAccountNumber: 0 parentAccountNumber: 0
}, },
@ -472,17 +473,20 @@ export const useMainStore = defineStore({
}).then((response) => { }).then((response) => {
const registerClaimFailed = response.data.isError; const registerClaimFailed = response.data.isError;
order.payment.insuranceCoverage.isVerified = !registerClaimFailed; order.payment.insuranceCoverage.isVerified = !registerClaimFailed;
order.payment.insuranceCoverage.claimNumber = null;
if (registerClaimFailed) { if (registerClaimFailed) {
this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.PENDING; this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.PENDING;
} else if (this.policy.noCoverage) { } else if (this.policy.noCoverage) {
this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.NO_COMP; this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.NO_COMP;
} else { } else {
this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.VERIFIED; this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.VERIFIED;
this.order.payment.insuranceCoverage.claimNumber = response.data.claimNumber;
} }
return resolve(response); return resolve(response);
}, (error) => { }, (error) => {
this.order.payment.insuranceCoverage.isVerified = false; this.order.payment.insuranceCoverage.isVerified = false;
this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.PENDING; this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.PENDING;
this.order.payment.insuranceCoverage.claimNumber = null;
return reject(error); return reject(error);
}); });
}); });
@ -936,7 +940,8 @@ export const useMainStore = defineStore({
policyFirstName: customer.firstName, policyFirstName: customer.firstName,
policyLastName: customer.lastName, policyLastName: customer.lastName,
policyPhoneNumber: customer.phoneNumber, policyPhoneNumber: customer.phoneNumber,
policyEmail: customer.emailAddress policyEmail: customer.emailAddress,
policyState: customer.address.state
}, },
policyNumber: policy.policyNumber, policyNumber: policy.policyNumber,
policyZipCode: policy.policyZipCode, policyZipCode: policy.policyZipCode,
@ -967,7 +972,8 @@ export const useMainStore = defineStore({
payment: { payment: {
InsuranceCoverage: { InsuranceCoverage: {
isVerified: payment.insuranceCoverage?.isVerified ?? false, isVerified: payment.insuranceCoverage?.isVerified ?? false,
coverageStatus: payment.insuranceCoverage?.coverageStatus coverageStatus: payment.insuranceCoverage?.coverageStatus,
claimNumber: payment.insuranceCoverage?.claimNumber
}, },
isInsurance: payment.isInsurance ?? true, isInsurance: payment.isInsurance ?? true,
parentAccountNumber: this.issConfig.parentAccountNumber parentAccountNumber: this.issConfig.parentAccountNumber

View file

@ -397,6 +397,7 @@ describe('Store', () => {
expect(globalMethods.callHttpClient).toHaveBeenCalled(); expect(globalMethods.callHttpClient).toHaveBeenCalled();
expect(store.payment.insuranceCoverage.isVerified).toBe(true); expect(store.payment.insuranceCoverage.isVerified).toBe(true);
expect(store.payment.insuranceCoverage.coverageStatus).toBe(coverageStatuses.NO_COMP); expect(store.payment.insuranceCoverage.coverageStatus).toBe(coverageStatuses.NO_COMP);
expect(store.payment.insuranceCoverage.claimNumber).toBe(null);
}); });
it('successful response with coverage => isVerified true and coverage status verified', async () => { it('successful response with coverage => isVerified true and coverage status verified', async () => {
@ -423,11 +424,12 @@ describe('Store', () => {
expect(globalMethods.callHttpClient).toHaveBeenCalled(); expect(globalMethods.callHttpClient).toHaveBeenCalled();
expect(store.payment.insuranceCoverage.isVerified).toBe(true); expect(store.payment.insuranceCoverage.isVerified).toBe(true);
expect(store.payment.insuranceCoverage.coverageStatus).toBe(coverageStatuses.VERIFIED); expect(store.payment.insuranceCoverage.coverageStatus).toBe(coverageStatuses.VERIFIED);
expect(store.payment.insuranceCoverage.claimNumber).toBe(response.data.claimNumber);
}); });
it('Call to client returns exception, resulting in object with error property being returned', async () => { it('Call to client returns exception, resulting in object with error property being returned', async () => {
// Arrange // Arrange
expect.assertions(4); expect.assertions(5);
const error = 'this is the error'; const error = 'this is the error';
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.reject(error)); globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.reject(error));
@ -440,6 +442,7 @@ describe('Store', () => {
expect(globalMethods.callHttpClient).toHaveBeenCalled(); expect(globalMethods.callHttpClient).toHaveBeenCalled();
expect(store.payment.insuranceCoverage.isVerified).toBe(false); expect(store.payment.insuranceCoverage.isVerified).toBe(false);
expect(store.payment.insuranceCoverage.coverageStatus).toBe(coverageStatuses.PENDING); expect(store.payment.insuranceCoverage.coverageStatus).toBe(coverageStatuses.PENDING);
expect(store.payment.insuranceCoverage.claimNumber).toBe(null);
}); });
}); });
@ -616,7 +619,10 @@ describe('Store', () => {
firstName: getRandomString(6, 6), firstName: getRandomString(6, 6),
lastName: getRandomString(6, 6), lastName: getRandomString(6, 6),
emailAddress: getRandomString(6, 6), emailAddress: getRandomString(6, 6),
phoneNumber: getRandomString(6, 6) phoneNumber: getRandomString(6, 6),
address: {
state: getRandomString(2, 2)
}
}; };
const policy = { const policy = {
policyNumber: getRandomString(6, 6), policyNumber: getRandomString(6, 6),
@ -643,7 +649,8 @@ describe('Store', () => {
policyFirstName: customer.firstName, policyFirstName: customer.firstName,
policyLastName: customer.lastName, policyLastName: customer.lastName,
policyPhoneNumber: customer.phoneNumber, policyPhoneNumber: customer.phoneNumber,
policyEmail: customer.emailAddress policyEmail: customer.emailAddress,
policyState: customer.address.state
}), }),
policyNumber: policy.policyNumber, policyNumber: policy.policyNumber,
policyZipCode: policy.policyZipCode, policyZipCode: policy.policyZipCode,