Merge pull request #1285 from Safelite/feature/humphries/INSR-10142

INSR-10142: Include member number in policy lookup based on client flag
This commit is contained in:
AHumphriesSL 2026-07-06 10:59:18 -04:00 committed by GitHub
commit 6b3dcad2fc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 57 additions and 10 deletions

View file

@ -212,6 +212,10 @@ export default {
if ( clientFlags.EncryptedParametersPattern != null ) {
this.mainStore.issConfig.encryptedParametersPattern = clientFlags.EncryptedParametersPattern;
}
if (clientFlags.UseMemberNumber) {
this.mainStore.issConfig.useMemberNumber = true;
}
}
},
combineClientParameters(configParams, queryStringParams) {

View file

@ -274,7 +274,8 @@ export const getDefaultState = () => ({
},
buildInfo: (typeof __BUILD_INFO__ !== 'undefined') ? __BUILD_INFO__ : null, // Contains the build info for the website, set during the build process. Version, Time, Git info etc....
siteType: null, // SiteType / SubType the site is set to (Essential/Advanced).
enableNoCompQuote: false
enableNoCompQuote: false,
useMemberNumber: false // Indicates if member number should be included for policy lookup purposes
}
});
@ -568,17 +569,22 @@ export const useMainStore = defineStore({
try {
order.policy.policyLookupErrorCode = 0;
const payload = {
accountNumber: order.parentAccountNumber?.toString(),
policyNumber: policy.policyNumber,
dateOfLoss: policy.dateOfLoss,
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;
}
const response = await globalMethods.callHttpClient({
method: endpoints.CoveragePolicyInfo.method,
endpoint: endpoints.CoveragePolicyInfo.url,
payload: {
accountNumber: order.parentAccountNumber?.toString(),
policyNumber: policy.policyNumber,
dateOfLoss: policy.dateOfLoss,
zipCode: policy.policyZipCode,
referralCorrelationId: order.referralCorrelationId,
referralNumber: order.referralNumber
},
payload,
bailoutOnError: false
});
@ -2295,7 +2301,7 @@ export const useMainStore = defineStore({
this.issConfig.siteType = null;
this.issConfig.enableNoCompQuote = false;
this.issConfig.billToAccountNumber = null;
this.issConfig.useMemberNumber = false;
// NOTE: Do not wipe out build info.
},

View file

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