Fixing merge conflicts
This commit is contained in:
commit
3fe1fd4c31
3 changed files with 47 additions and 42 deletions
|
|
@ -9,6 +9,20 @@ Object {
|
|||
"initialLoading": false,
|
||||
"mapZipCode": "12663",
|
||||
"providers": Array [],
|
||||
"radiusFilterPairs": Array [
|
||||
Object {
|
||||
"filter": "25 miles",
|
||||
"radius": 25,
|
||||
},
|
||||
Object {
|
||||
"filter": "50 miles",
|
||||
"radius": 50,
|
||||
},
|
||||
Object {
|
||||
"filter": "100 miles",
|
||||
"radius": 100,
|
||||
},
|
||||
],
|
||||
"reloadProviders": false,
|
||||
"rules": Object {
|
||||
"filter": "option-required",
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -141,32 +141,23 @@ import widgetFields from '@/constants/cms-widget-fields.js';
|
|||
import { shallowRef } from 'vue';
|
||||
|
||||
async function getInitialFilterAndProviders() {
|
||||
const radiusOptions = [15, 25, 50, 100];
|
||||
const { zipCode } = useMainStore().order.customer.address;
|
||||
|
||||
const tpaProvidersRadius15 = useMainStore().getTpaProviders(zipCode, radiusOptions[0]);
|
||||
const tpaProvidersRadius25 = useMainStore().getTpaProviders(zipCode, radiusOptions[1]);
|
||||
const tpaProvidersRadius50 = useMainStore().getTpaProviders(zipCode, radiusOptions[2]);
|
||||
const tpaProvidersRadius100 = useMainStore().getTpaProviders(zipCode, radiusOptions[3]);
|
||||
let pairIndex = 0;
|
||||
let providers = [];
|
||||
let filter = '';
|
||||
while (providers.length === 0 && pairIndex < this.radiusFilterPairs.length) {
|
||||
const pair = this.radiusFilterPairs[pairIndex];
|
||||
const { radius } = pair;
|
||||
filter = pair.filter;
|
||||
// eslint-disable-next-line no-await-in-loop
|
||||
const result = await useMainStore().getTpaProviders(zipCode, radius);
|
||||
providers = result?.data?.shopProviders ?? [];
|
||||
|
||||
let filter = '15 miles';
|
||||
let providers = await tpaProvidersRadius15;
|
||||
if ((providers?.data?.shopProviders ?? []).length === 0) {
|
||||
filter = '25 miles';
|
||||
providers = await tpaProvidersRadius25;
|
||||
if ((providers?.data?.shopProviders ?? []).length === 0) {
|
||||
filter = '50 miles';
|
||||
providers = await tpaProvidersRadius50;
|
||||
if ((providers?.data?.shopProviders ?? []).length === 0) {
|
||||
filter = '100 miles';
|
||||
providers = await tpaProvidersRadius100;
|
||||
}
|
||||
}
|
||||
pairIndex += 1;
|
||||
}
|
||||
return [
|
||||
filter,
|
||||
providers?.data?.shopProviders ?? []
|
||||
];
|
||||
|
||||
return {filter, providers};
|
||||
}
|
||||
|
||||
export default {
|
||||
|
|
@ -186,7 +177,7 @@ export default {
|
|||
},
|
||||
mixins: [BaseFormMixin],
|
||||
async beforeRouteEnter(to, from, next) {
|
||||
const [filter, providers] = await getInitialFilterAndProviders();
|
||||
const { filter, providers } = await getInitialFilterAndProviders();
|
||||
const cmsContent = await fetchCmsContentForPage(to.query.issPage);
|
||||
|
||||
next(async (vm) => {
|
||||
|
|
@ -222,7 +213,13 @@ export default {
|
|||
filter: globalRules.OPTION_REQUIRED, // TODO do we even need this?
|
||||
provider: globalRules.OPTION_REQUIRED
|
||||
},
|
||||
shopListButton: shallowRef(shopListButton)
|
||||
shopListButton: shallowRef(shopListButton),
|
||||
radiusFilterPairs: [
|
||||
{ radius: 15, filter: '15 miles' },
|
||||
{ radius: 25, filter: '25 miles' },
|
||||
{ radius: 50, filter: '50 miles' },
|
||||
{ radius: 100, filter: '100 miles' }
|
||||
]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
|
@ -256,18 +253,8 @@ export default {
|
|||
);
|
||||
},
|
||||
radiusInMiles() {
|
||||
switch (this.filter) {
|
||||
case '15 miles':
|
||||
return 15;
|
||||
case '25 miles':
|
||||
return 25;
|
||||
case '50 miles':
|
||||
return 50;
|
||||
case '100 miles':
|
||||
return 100;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
const pair = this.radiusFilterPairs.find((p) => p.filter === this.filter);
|
||||
return pair?.radius ?? 0;
|
||||
},
|
||||
noNetworkShopsAlertHeaderText() {
|
||||
return this.getCmsContent(
|
||||
|
|
@ -308,6 +295,12 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
setFilter(filter) {
|
||||
this.filter = filter;
|
||||
},
|
||||
setProviders(providers) {
|
||||
this.providers = providers;
|
||||
},
|
||||
getProviderAddress(provider) {
|
||||
const city = provider?.address?.city ?? '';
|
||||
const state = provider?.address?.state ?? '';
|
||||
|
|
@ -335,12 +328,6 @@ export default {
|
|||
? `${provider.address.streetAddress}, ${addressLine2}`
|
||||
: addressLine2;
|
||||
},
|
||||
setFilter(filter) {
|
||||
this.filter = filter;
|
||||
},
|
||||
setProviders(providers) {
|
||||
this.providers = providers;
|
||||
},
|
||||
async getProviderButtonData() {
|
||||
const getTpaProvidersResult = await useMainStore().getTpaProviders(this.zipCode, this.radiusInMiles);
|
||||
return getTpaProvidersResult?.data?.shopProviders ?? [];
|
||||
|
|
|
|||
Loading…
Reference in a new issue