diff --git a/src/store/index.js b/src/store/index.js index 79a600e0..e352edbf 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -121,7 +121,8 @@ const getDefaultState = () => ({ isInsurance: true, // TODO delete; irrelevant to ISS insuranceCoverage: { isVerified: false, - coverageStatus: coverageStatuses.PENDING + coverageStatus: coverageStatuses.PENDING, + claimNumber: null }, parentAccountNumber: 0 }, @@ -472,17 +473,20 @@ export const useMainStore = defineStore({ }).then((response) => { const registerClaimFailed = response.data.isError; order.payment.insuranceCoverage.isVerified = !registerClaimFailed; + order.payment.insuranceCoverage.claimNumber = null; if (registerClaimFailed) { this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.PENDING; } else if (this.policy.noCoverage) { this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.NO_COMP; } else { this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.VERIFIED; + this.order.payment.insuranceCoverage.claimNumber = response.data.claimNumber; } return resolve(response); }, (error) => { this.order.payment.insuranceCoverage.isVerified = false; this.order.payment.insuranceCoverage.coverageStatus = coverageStatuses.PENDING; + this.order.payment.insuranceCoverage.claimNumber = null; return reject(error); }); }); @@ -936,7 +940,8 @@ export const useMainStore = defineStore({ policyFirstName: customer.firstName, policyLastName: customer.lastName, policyPhoneNumber: customer.phoneNumber, - policyEmail: customer.emailAddress + policyEmail: customer.emailAddress, + policyState: customer.address.state }, policyNumber: policy.policyNumber, policyZipCode: policy.policyZipCode, @@ -967,7 +972,8 @@ export const useMainStore = defineStore({ payment: { InsuranceCoverage: { isVerified: payment.insuranceCoverage?.isVerified ?? false, - coverageStatus: payment.insuranceCoverage?.coverageStatus + coverageStatus: payment.insuranceCoverage?.coverageStatus, + claimNumber: payment.insuranceCoverage?.claimNumber }, isInsurance: payment.isInsurance ?? true, parentAccountNumber: this.issConfig.parentAccountNumber diff --git a/src/store/store.spec.js b/src/store/store.spec.js index aea99622..14a99a8a 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -397,6 +397,7 @@ describe('Store', () => { expect(globalMethods.callHttpClient).toHaveBeenCalled(); expect(store.payment.insuranceCoverage.isVerified).toBe(true); 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 () => { @@ -423,11 +424,12 @@ describe('Store', () => { expect(globalMethods.callHttpClient).toHaveBeenCalled(); expect(store.payment.insuranceCoverage.isVerified).toBe(true); 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 () => { // Arrange - expect.assertions(4); + expect.assertions(5); const error = 'this is the error'; globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.reject(error)); @@ -440,6 +442,7 @@ describe('Store', () => { expect(globalMethods.callHttpClient).toHaveBeenCalled(); expect(store.payment.insuranceCoverage.isVerified).toBe(false); 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), lastName: getRandomString(6, 6), emailAddress: getRandomString(6, 6), - phoneNumber: getRandomString(6, 6) + phoneNumber: getRandomString(6, 6), + address: { + state: getRandomString(2, 2) + } }; const policy = { policyNumber: getRandomString(6, 6), @@ -643,7 +649,8 @@ describe('Store', () => { policyFirstName: customer.firstName, policyLastName: customer.lastName, policyPhoneNumber: customer.phoneNumber, - policyEmail: customer.emailAddress + policyEmail: customer.emailAddress, + policyState: customer.address.state }), policyNumber: policy.policyNumber, policyZipCode: policy.policyZipCode,