diff --git a/src/store/index.js b/src/store/index.js index a131748c..9d23d112 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -586,7 +586,7 @@ export const useMainStore = defineStore({ referralCorrelationId: order.referralCorrelationId, referralNumber: order.referralNumber }; - // Clients (i.e. USAA) may sometimes use member number, which is just policy number by a different name + // Clients (i.e. USAA) may sometimes use member number in addition to a policy number if (this.issConfig.useMemberNumber) { payload.memberNumber = policy.memberNumber ?? policy.policyNumber; } @@ -620,7 +620,7 @@ export const useMainStore = defineStore({ order.policy.policyData = responsePolicy.policyData; if (this.issConfig.useMemberNumber) { if (!order.policy.memberNumber) { - // We only do this once, otherwise we would overwrite the member number with the policy number on subsequent lookups. + // We capture the member number (entered as policy number) once, so we don't overwrite it with returned policy number on subsequent lookups order.policy.memberNumber = order.policy.policyNumber; } order.policy.policyNumber = responsePolicy.policyNumber; @@ -722,7 +722,7 @@ export const useMainStore = defineStore({ fleetNumber: this.order.vehicle.fleetNumber, fleetUnitNumber: this.order.vehicle.fleetUnitNumber }; - // Clients (i.e. USAA) may sometimes use member number, which is just policy number by a different name + // Clients (i.e. USAA) may sometimes use member number in addition to a policy number if (this.issConfig.useMemberNumber) { payload.memberNumber = this.order.policy.memberNumber ?? this.order.policy.policyNumber; } @@ -783,7 +783,7 @@ export const useMainStore = defineStore({ policyData: this.order.policy.policyData, isItac: this.isITAC }; - // Clients (i.e. USAA) may sometimes use member number, which is just policy number by a different name + // Clients (i.e. USAA) may sometimes use member number in addition to a policy number if (this.issConfig.useMemberNumber) { payload.memberNumber = this.order.policy.memberNumber ?? this.order.policy.policyNumber; } @@ -1835,7 +1835,6 @@ export const useMainStore = defineStore({ order.policy.isDamageGlassOnly = data?.policy?.isDamageGlassOnly; order.policy.policyNumber = data?.policy?.policyNumber; order.policy.policyZipCode = data?.policy?.policyZipCode; - order.policy.memberNumber = data?.policy?.memberNumber; order.referralNumber = data?.referralNumber; order.referralDate = data?.referralDate; diff --git a/src/store/store.spec.js b/src/store/store.spec.js index 78345ff4..c52ee6cf 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -1496,6 +1496,30 @@ describe('Store', () => { }) })); }); + it('useMemberNumber is true => member number set and policy number changed after response', async () => { + // Arrange + const originalPolicyNumber = getRandomString(6, 6); + store.order.policy.policyNumber = originalPolicyNumber; + const returnedPolicyNumber = getRandomString(6, 6); + const responseNoPolicies = { + data: { + policies: [{ + policyNumber: returnedPolicyNumber + }] + } + }; + store.issConfig.isCoverageEnabled = true; + store.applicationUser.coverageLookupAttempts = 0; + store.issConfig.useMemberNumber = true; + globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(responseNoPolicies)); + + // Act + await store.getCoveragePolicyInfo(); + + // Asserts + expect(store.order.policy.memberNumber).toBe(originalPolicyNumber); + expect(store.order.policy.policyNumber).toBe(returnedPolicyNumber); + }) it('null response by api => insuranceCoverage.coverageType is NONE', async () => { // Arrange store.issConfig.isCoverageEnabled = true;