adding reloadingProviders flag toggle to getProviderButtonData
This commit is contained in:
parent
db8a342986
commit
e52046f7ab
3 changed files with 19 additions and 21 deletions
|
|
@ -9,7 +9,7 @@ Object {
|
||||||
"filter": "",
|
"filter": "",
|
||||||
"mapZipCode": "12663",
|
"mapZipCode": "12663",
|
||||||
"providers": Array [],
|
"providers": Array [],
|
||||||
"reloadProviders": false,
|
"reloadingProviders": false,
|
||||||
"rules": Object {
|
"rules": Object {
|
||||||
"filter": "option-required",
|
"filter": "option-required",
|
||||||
"provider": "option-required",
|
"provider": "option-required",
|
||||||
|
|
|
||||||
|
|
@ -189,10 +189,10 @@ describe('TPA search page', () => {
|
||||||
expect(searchRadiusFilter.props().cmsWidgetName).toBe(expectedWidgetName);
|
expect(searchRadiusFilter.props().cmsWidgetName).toBe(expectedWidgetName);
|
||||||
expect(searchRadiusFilter.props().validationRules).toBe(globalRules.OPTION_REQUIRED);
|
expect(searchRadiusFilter.props().validationRules).toBe(globalRules.OPTION_REQUIRED);
|
||||||
});
|
});
|
||||||
test('providers loader when reloadProviders is true', async () => {
|
test('providers loader when reloadingProviders is true', async () => {
|
||||||
// Arrange
|
// Arrange
|
||||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||||
await wrapper.setData({ reloadProviders: true });
|
await wrapper.setData({ reloadingProviders: true });
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
const providersLoader = wrapper.findComponent('#providersLoader');
|
const providersLoader = wrapper.findComponent('#providersLoader');
|
||||||
|
|
@ -200,7 +200,7 @@ describe('TPA search page', () => {
|
||||||
// Assert
|
// Assert
|
||||||
expect(providersLoader.exists()).toBeTruthy();
|
expect(providersLoader.exists()).toBeTruthy();
|
||||||
});
|
});
|
||||||
test('select provider question when reloadProviders are false', async () => {
|
test('select provider question when reloadingProviders are false', async () => {
|
||||||
// Arrange
|
// Arrange
|
||||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||||
await wrapper.setData({
|
await wrapper.setData({
|
||||||
|
|
@ -216,7 +216,7 @@ describe('TPA search page', () => {
|
||||||
zipCode: '99230'
|
zipCode: '99230'
|
||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
reloadProviders: false
|
reloadingProviders: false
|
||||||
});
|
});
|
||||||
const expectedAnswers = [{
|
const expectedAnswers = [{
|
||||||
buttonLabel: 'Shop Auto Glass',
|
buttonLabel: 'Shop Auto Glass',
|
||||||
|
|
@ -243,14 +243,14 @@ describe('TPA search page', () => {
|
||||||
expect(selectProviderQuestion.props().additionalButtonData).toEqual(expectedAdditionalButtonData);
|
expect(selectProviderQuestion.props().additionalButtonData).toEqual(expectedAdditionalButtonData);
|
||||||
});
|
});
|
||||||
test.each([[], null, undefined])(
|
test.each([[], null, undefined])(
|
||||||
'no network providers alert when providers length is 0, undefined, or null and reloadProviders is false',
|
'no network providers alert when providers length is 0, undefined, or null and reloadingProviders is false',
|
||||||
async (providers) => {
|
async (providers) => {
|
||||||
// Arrange
|
// Arrange
|
||||||
const initialData = {
|
const initialData = {
|
||||||
providers
|
providers
|
||||||
};
|
};
|
||||||
const wrapper = shallowMount(tpaSearch, getMountOptions({}, initialData));
|
const wrapper = shallowMount(tpaSearch, getMountOptions({}, initialData));
|
||||||
await wrapper.setData({ reloadProviders: false });
|
await wrapper.setData({ reloadingProviders: false });
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
const noNetworkProvidersAlert = wrapper.findComponent('#alertNoNetworkProviders');
|
const noNetworkProvidersAlert = wrapper.findComponent('#alertNoNetworkProviders');
|
||||||
|
|
@ -262,10 +262,10 @@ describe('TPA search page', () => {
|
||||||
expect(noNetworkProvidersAlert.props().isDismissible).toBeFalsy();
|
expect(noNetworkProvidersAlert.props().isDismissible).toBeFalsy();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
test('preferred shop not listed link when reloadProviders is false', async () => {
|
test('preferred shop not listed link when reloadingProviders is false', async () => {
|
||||||
// Arrange
|
// Arrange
|
||||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||||
await wrapper.setData({ reloadProviders: false });
|
await wrapper.setData({ reloadingProviders: false });
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
const preferredShopNotListedLink = wrapper.findComponent('#preferredShopNotListedLink');
|
const preferredShopNotListedLink = wrapper.findComponent('#preferredShopNotListedLink');
|
||||||
|
|
@ -288,10 +288,10 @@ describe('TPA search page', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe('should not render', () => {
|
describe('should not render', () => {
|
||||||
test('select provider question when reloadProviders is true', async () => {
|
test('select provider question when reloadingProviders is true', async () => {
|
||||||
// Arrange
|
// Arrange
|
||||||
const { wrapper } = getMountedComponent();
|
const { wrapper } = getMountedComponent();
|
||||||
await wrapper.setData({ reloadProviders: true });
|
await wrapper.setData({ reloadingProviders: true });
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
const selectProviderQuestion = wrapper.findComponent('#selectProviderQuestion');
|
const selectProviderQuestion = wrapper.findComponent('#selectProviderQuestion');
|
||||||
|
|
@ -311,10 +311,10 @@ describe('TPA search page', () => {
|
||||||
// Assert
|
// Assert
|
||||||
expect(noNetworkProvidersAlert.exists()).toBeFalsy();
|
expect(noNetworkProvidersAlert.exists()).toBeFalsy();
|
||||||
});
|
});
|
||||||
test('when reloadProviders is true', async () => {
|
test('when reloadingProviders is true', async () => {
|
||||||
// Arrange
|
// Arrange
|
||||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||||
await wrapper.setData({ providers: [], reloadProviders: true });
|
await wrapper.setData({ providers: [], reloadingProviders: true });
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
const noNetworkProvidersAlert = wrapper.findComponent('#alertNoNetworkProviders');
|
const noNetworkProvidersAlert = wrapper.findComponent('#alertNoNetworkProviders');
|
||||||
|
|
@ -323,10 +323,10 @@ describe('TPA search page', () => {
|
||||||
expect(noNetworkProvidersAlert.exists()).toBeFalsy();
|
expect(noNetworkProvidersAlert.exists()).toBeFalsy();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
test('preferred shop not listed link when reloadProviders is true', async () => {
|
test('preferred shop not listed link when reloadingProviders is true', async () => {
|
||||||
// Arrange
|
// Arrange
|
||||||
const { wrapper } = getMountedComponent();
|
const { wrapper } = getMountedComponent();
|
||||||
await wrapper.setData({ reloadProviders: true });
|
await wrapper.setData({ reloadingProviders: true });
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
const preferredShopNotListedLink = wrapper.findComponent('#preferredShopNotListedLink');
|
const preferredShopNotListedLink = wrapper.findComponent('#preferredShopNotListedLink');
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@
|
||||||
disableAutoFill
|
disableAutoFill
|
||||||
:validationRules="rules.filter" />
|
:validationRules="rules.filter" />
|
||||||
<loader
|
<loader
|
||||||
v-if="reloadProviders"
|
v-if="reloadingProviders"
|
||||||
id="providersLoader"
|
id="providersLoader"
|
||||||
loaderPosition="center"
|
loaderPosition="center"
|
||||||
loaderColor="blue"
|
loaderColor="blue"
|
||||||
|
|
@ -195,7 +195,7 @@ export default {
|
||||||
filter: '',
|
filter: '',
|
||||||
providers: [],
|
providers: [],
|
||||||
selectedProviderNumber: '',
|
selectedProviderNumber: '',
|
||||||
reloadProviders: false,
|
reloadingProviders: false,
|
||||||
additionalButtonData: {
|
additionalButtonData: {
|
||||||
displayAvailabilityIndicators: false
|
displayAvailabilityIndicators: false
|
||||||
},
|
},
|
||||||
|
|
@ -269,12 +269,10 @@ export default {
|
||||||
watch: {
|
watch: {
|
||||||
async filter() {
|
async filter() {
|
||||||
if (this.dataLoaded) {
|
if (this.dataLoaded) {
|
||||||
this.reloadProviders = true;
|
|
||||||
await this.getProviderButtonData().then((providers) => {
|
await this.getProviderButtonData().then((providers) => {
|
||||||
this.providers = providers;
|
this.providers = providers;
|
||||||
});
|
});
|
||||||
this.mapZipCode = this.zipCode;
|
this.mapZipCode = this.zipCode;
|
||||||
this.reloadProviders = false;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
providers(newProviders) {
|
providers(newProviders) {
|
||||||
|
|
@ -319,7 +317,9 @@ export default {
|
||||||
return [addressLine1, addressLine2].join(joinString);
|
return [addressLine1, addressLine2].join(joinString);
|
||||||
},
|
},
|
||||||
async getProviderButtonData() {
|
async getProviderButtonData() {
|
||||||
|
this.reloadingProviders = true;
|
||||||
const getTpaProvidersResult = await useMainStore().getTpaProviders(this.zipCode, this.radiusInMiles);
|
const getTpaProvidersResult = await useMainStore().getTpaProviders(this.zipCode, this.radiusInMiles);
|
||||||
|
this.reloadingProviders = false;
|
||||||
return getTpaProvidersResult?.data?.shopProviders ?? [];
|
return getTpaProvidersResult?.data?.shopProviders ?? [];
|
||||||
},
|
},
|
||||||
doNotSeeMyShopLinkClick() {
|
doNotSeeMyShopLinkClick() {
|
||||||
|
|
@ -329,10 +329,8 @@ export default {
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
async searchClick() {
|
async searchClick() {
|
||||||
this.reloadProviders = true;
|
|
||||||
this.providers = await this.getProviderButtonData();
|
this.providers = await this.getProviderButtonData();
|
||||||
this.mapZipCode = this.zipCode;
|
this.mapZipCode = this.zipCode;
|
||||||
this.reloadProviders = false;
|
|
||||||
},
|
},
|
||||||
backButtonAction() {
|
backButtonAction() {
|
||||||
this.$router.navigate(this.navigationScenarios.CLICKED_BACK, this.$route);
|
this.$router.navigate(this.navigationScenarios.CLICKED_BACK, this.$route);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue