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

View file

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