diff --git a/src/store/index.js b/src/store/index.js index 530dd124..386832f3 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -574,7 +574,8 @@ export const useMainStore = defineStore({ zipCode: policy.policyZipCode, referralCorrelationId: order.referralCorrelationId, referralNumber: order.referralNumber - } + }; + // Clients (i.e. USAA) may sometimes use member number, which is just policy number by a different name if (this.issConfig.useMemberNumber) { payload.memberNumber = policy.policyNumber; } diff --git a/src/store/store.spec.js b/src/store/store.spec.js index 271d1a34..61813d5c 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -1406,6 +1406,43 @@ describe('Store', () => { referralCorrelationId }) })); + expect(globalMethods.callHttpClient).toHaveBeenCalledWith(expect.objectContaining({ + payload: expect.not.objectContaining({ + memberNumber: expect.anything() + }) + })); + }); + it('calls api with member number when useMemberNumber is true', async () => { + // Arrange + const parentAccountNumber = getRandomString(6, 6); + const policyNumber = getRandomString(6, 6); + const dateOfLoss = getRandomString(6, 6); + const zipCode = getRandomString(6, 6); + const referralCorrelationId = getRandomString(6, 6); + store.order.parentAccountNumber = parentAccountNumber; + store.order.policy.policyNumber = policyNumber; + store.order.policy.dateOfLoss = dateOfLoss; + store.order.policy.policyZipCode = zipCode; + store.order.referralCorrelationId = referralCorrelationId; + store.issConfig.isCoverageEnabled = true; + store.issConfig.useMemberNumber = true; + store.applicationUser.coverageLookupAttempts = 0; + globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({})); + + // Act + await store.getCoveragePolicyInfo(); + + // Asserts + expect(globalMethods.callHttpClient).toHaveBeenCalledWith(expect.objectContaining({ + payload: expect.objectContaining({ + accountNumber: parentAccountNumber, + policyNumber, + memberNumber: policyNumber, + dateOfLoss, + zipCode, + referralCorrelationId + }) + })); }); it('null response by api => insuranceCoverage.coverageType is NONE', async () => { // Arrange