Auto stash before merge of "feature/INSR-7771" and "origin/develop"

This commit is contained in:
scottkiener-at-safelite 2026-02-12 15:34:20 -05:00
parent 6d10f3e64f
commit 555223d7cd
2 changed files with 43 additions and 30 deletions

View file

@ -54,7 +54,10 @@ export default {
callHttpClient({ method, endpoint, payload, logApiCall = true }) { callHttpClient({ method, endpoint, payload, logApiCall = true }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const store = useMainStore(); const store = useMainStore();
const cfDistroUrl = applicationConfig.CONSUMER_CF_DISTRO; let cfDistroUrl = applicationConfig.CONSUMER_CF_DISTRO;
if (endpoint.includes ("/location")) {
cfDistroUrl = "https://localhost:44370";
}
const payloadAndAnalyticsData = { ...payload, AppName: 'ISS' }; const payloadAndAnalyticsData = { ...payload, AppName: 'ISS' };
const sessionKey = getSessionKeyValue(); const sessionKey = getSessionKeyValue();
const headers = { const headers = {

View file

@ -1966,53 +1966,65 @@ describe('Store', () => {
}); });
}); });
describe('getTpaProviders method', () => { describe('getTpaAndSafeliteProviders method', () => {
describe('successful method call', () => { describe('successful method call', () => {
it.each([[true, 'Repair'], [false, 'Replace']])( it.each([[true, 'Repair'], [false, 'Install']])(
'calls getProviders api endpoint', 'calls getProviders api endpoint with damageType %s',
async (isRepair, damageType) => { async (isRepair, damageType) => {
// Arrange // Arrange
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({})); globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({}));
const carId = getRandomString(10, 14); const carId = getRandomString(10, 14);
const parentAccountNumber = getRandomString(6, 6); const parentAccountNumber = getRandomString(6, 6);
const partNumber = getRandomString(6, 6);
store.order.parentAccountNumber = parentAccountNumber; store.order.parentAccountNumber = parentAccountNumber;
store.order.damage.isRepair = isRepair; store.order.damage.isRepair = isRepair;
store.order.vehicle.carId = carId; store.order.vehicle.carId = carId;
const zipCode = getRandomString(6, 6); store.order.lineItems.glassParts = [{ partNumber }];
const radius = getRandomInt(5, 100); const zipCode = getRandomString(5, 5);
const isBigTruck = false;
store.order.vehicle.isBigTruck = isBigTruck; const expectedEndpoint = `${endpoints.GetTpaAndSafeliteProviders.url}/${zipCode}?accountNumber=${parentAccountNumber}&carId=${carId}&damageType=${damageType}&partNumbers=${partNumber}`;
const expectedEndpoint = endpoints.GetProviders.url(
zipCode,
damageType,
radius,
parentAccountNumber,
'false',
carId,
null,
isBigTruck
);
// Act // Act
await store.getTpaProviders(zipCode, radius); await store.getTpaAndSafeliteProviders(zipCode);
// Asserts // Asserts
expect(globalMethods.callHttpClient).toHaveBeenCalledWith(expect.objectContaining({ expect(globalMethods.callHttpClient).toHaveBeenCalledWith(expect.objectContaining({
method: endpoints.GetProviders.method, method: endpoints.GetTpaAndSafeliteProviders.method,
endpoint: expectedEndpoint endpoint: expectedEndpoint
})); }));
} }
); );
it('includes providerNameSearchString in endpoint when provided', async () => {
// Arrange
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({}));
const carId = getRandomString(10, 14);
const parentAccountNumber = getRandomString(6, 6);
const partNumber = getRandomString(6, 6);
store.order.parentAccountNumber = parentAccountNumber;
store.order.damage.isRepair = true;
store.order.vehicle.carId = carId;
store.order.lineItems.glassParts = [{ partNumber }];
const zipCode = getRandomString(5, 5);
const providerNameSearchString = 'Test Shop';
// Act
await store.getTpaAndSafeliteProviders(zipCode, providerNameSearchString);
// Asserts
expect(globalMethods.callHttpClient).toHaveBeenCalledWith(expect.objectContaining({
endpoint: expect.stringContaining(`&providerNameSearchString=${providerNameSearchString}`)
}));
});
it('Returns expected response object', async () => { it('Returns expected response object', async () => {
// Arrange // Arrange
const response = { ReferralNumber: getRandomString(6, 6) }; const response = { ReferralNumber: getRandomString(6, 6) };
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(response)); globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(response));
const zipCode = getRandomString(6, 6); const zipCode = getRandomString(5, 5);
const radius = getRandomInt(5, 100);
// Act // Act
const result = store.getTpaProviders(zipCode, radius); const result = store.getTpaAndSafeliteProviders(zipCode);
// Asserts // Asserts
await expect(result).resolves.toBe(response); await expect(result).resolves.toBe(response);
@ -2020,11 +2032,10 @@ describe('Store', () => {
it('null response by api => no exceptions thrown', async () => { it('null response by api => no exceptions thrown', async () => {
// Arrange // Arrange
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(null)); globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(null));
const zipCode = getRandomString(6, 6); const zipCode = getRandomString(5, 5);
const radius = getRandomInt(5, 100);
// Act // Act
await store.getTpaProviders(zipCode, radius); await store.getTpaAndSafeliteProviders(zipCode);
}); });
it('no providers returned by api => promise resolves to empty list', async () => { it('no providers returned by api => promise resolves to empty list', async () => {
// Arrange // Arrange
@ -2034,11 +2045,10 @@ describe('Store', () => {
} }
}; };
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(responseNoProviders)); globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(responseNoProviders));
const zipCode = getRandomString(6, 6); const zipCode = getRandomString(5, 5);
const radius = getRandomInt(5, 100);
// Act // Act
const result = await store.getTpaProviders(zipCode, radius); const result = await store.getTpaAndSafeliteProviders(zipCode);
// Asserts // Asserts
expect(result.data.shopProviders).toHaveLength(0); expect(result.data.shopProviders).toHaveLength(0);
@ -2060,7 +2070,7 @@ describe('Store', () => {
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(responseProviders)); globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(responseProviders));
// Act // Act
const result = await store.getTpaProviders(); const result = await store.getTpaAndSafeliteProviders();
// Asserts // Asserts
expect(result.data.shopProviders).toHaveLength(2); expect(result.data.shopProviders).toHaveLength(2);