Only calling getTpaProviders at radius when needed

This commit is contained in:
Michaela Brydon 2023-11-30 11:25:31 -05:00
parent cdac218b41
commit d2c0b2d8bb
2 changed files with 11 additions and 7 deletions

View file

@ -1264,6 +1264,7 @@ describe('TPA search page', () => {
// Assert
expect(wrapper.vm.filter).toBe(expectedFilter);
expect(wrapper.vm.providers).toEqual(providers);
expect(useMainStore().getTpaProviders).toBeCalledTimes(1);
});
test('when providers exist at 50 mile radius but not 25, filter is set to "50 miles" and providers set to expected', async () => {
// Arrange
@ -1289,6 +1290,7 @@ describe('TPA search page', () => {
// Assert
expect(wrapper.vm.filter).toBe(expectedFilter);
expect(wrapper.vm.providers).toEqual(providers);
expect(useMainStore().getTpaProviders).toBeCalledTimes(2);
});
test(
'when providers exist at 100 mile radius but not 50 or 25, filter is set to "100 miles" and providers set to expected',
@ -1316,6 +1318,7 @@ describe('TPA search page', () => {
// Assert
expect(wrapper.vm.filter).toBe(expectedFilter);
expect(wrapper.vm.providers).toEqual(providers);
expect(useMainStore().getTpaProviders).toBeCalledTimes(3);
}
);
test(
@ -1342,6 +1345,7 @@ describe('TPA search page', () => {
// Assert
expect(wrapper.vm.filter).toBe(expectedFilter);
expect(wrapper.vm.providers).toEqual([]);
expect(useMainStore().getTpaProviders).toBeCalledTimes(3);
}
);
});

View file

@ -310,21 +310,21 @@ export default {
},
async setInitialFilterAndProviders() {
this.initialLoading = true;
const radiusOptions = [25, 50, 100];
// const radiusOptions = [25, 50, 100];
const { zipCode } = useMainStore().order.customer.address;
const tpaProvidersRadius25 = useMainStore().getTpaProviders(zipCode, radiusOptions[0]);
const tpaProvidersRadius50 = useMainStore().getTpaProviders(zipCode, radiusOptions[1]);
const tpaProvidersRadius100 = useMainStore().getTpaProviders(zipCode, radiusOptions[2]);
// const tpaProvidersRadius25 = useMainStore().getTpaProviders(zipCode, radiusOptions[0]);
// const tpaProvidersRadius50 = useMainStore().getTpaProviders(zipCode, radiusOptions[1]);
// const tpaProvidersRadius100 = useMainStore().getTpaProviders(zipCode, radiusOptions[2]);
let radius = '25 miles';
let providers = await tpaProvidersRadius25;
let providers = await useMainStore().getTpaProviders(zipCode, 25);
if ((providers?.data?.shopProviders ?? []).length === 0) {
radius = '50 miles';
providers = await tpaProvidersRadius50;
providers = await useMainStore().getTpaProviders(zipCode, 50);
if ((providers?.data?.shopProviders ?? []).length === 0) {
radius = '100 miles';
providers = await tpaProvidersRadius100;
providers = await useMainStore().getTpaProviders(zipCode, 100);
}
}
this.filter = radius;