Fixing tests
This commit is contained in:
parent
7764556e56
commit
c43065a632
3 changed files with 77 additions and 143 deletions
|
|
@ -5,24 +5,10 @@ Object {
|
|||
"additionalButtonData": Object {
|
||||
"displayAvailabilityIndicators": false,
|
||||
},
|
||||
"dataLoaded": false,
|
||||
"filter": "",
|
||||
"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",
|
||||
|
|
|
|||
|
|
@ -150,18 +150,7 @@ describe('TPA search page', () => {
|
|||
// Assert
|
||||
expect(providerSelectionForm.exists()).toBeTruthy();
|
||||
});
|
||||
test('map loader when initialLoading is true', async () => {
|
||||
// Arrange
|
||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||
await wrapper.setData({ initialLoading: true });
|
||||
|
||||
// Act
|
||||
const mapLoader = wrapper.findComponent('#mapLoader');
|
||||
|
||||
// Assert
|
||||
expect(mapLoader.exists()).toBeTruthy();
|
||||
});
|
||||
test('map when initialLoading is false', async () => {
|
||||
test('map', async () => {
|
||||
// Arrange
|
||||
const zipCode = '12345';
|
||||
const { wrapper } = getMountedComponent();
|
||||
|
|
@ -174,8 +163,7 @@ describe('TPA search page', () => {
|
|||
zipCode: '99230'
|
||||
}
|
||||
}],
|
||||
mapZipCode: zipCode,
|
||||
initialLoading: false
|
||||
mapZipCode: zipCode
|
||||
});
|
||||
const expectedAddresses = ['123 Lane Ave, New York, NY 99230'];
|
||||
|
||||
|
|
@ -188,10 +176,9 @@ describe('TPA search page', () => {
|
|||
expect(map.props().addresses).toEqual(expectedAddresses);
|
||||
expect(map.props().zipCode).toBe(zipCode);
|
||||
});
|
||||
test('search radius filter when initialLoading is false', async () => {
|
||||
test('search radius filter', async () => {
|
||||
// Arrange
|
||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||
await wrapper.setData({ initialLoading: false });
|
||||
const expectedWidgetName = 'FilterByQuestion';
|
||||
|
||||
// Act
|
||||
|
|
@ -202,10 +189,10 @@ describe('TPA search page', () => {
|
|||
expect(searchRadiusFilter.props().cmsWidgetName).toBe(expectedWidgetName);
|
||||
expect(searchRadiusFilter.props().validationRules).toBe(globalRules.OPTION_REQUIRED);
|
||||
});
|
||||
test('providers loader when initialLoading is false and reloadProviders is true', async () => {
|
||||
test('providers loader when reloadProviders is true', async () => {
|
||||
// Arrange
|
||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||
await wrapper.setData({ initialLoading: false, reloadProviders: true });
|
||||
await wrapper.setData({ reloadProviders: true });
|
||||
|
||||
// Act
|
||||
const providersLoader = wrapper.findComponent('#providersLoader');
|
||||
|
|
@ -213,7 +200,7 @@ describe('TPA search page', () => {
|
|||
// Assert
|
||||
expect(providersLoader.exists()).toBeTruthy();
|
||||
});
|
||||
test('select provider question when initialLoading and reloadProviders are false', async () => {
|
||||
test('select provider question when reloadProviders are false', async () => {
|
||||
// Arrange
|
||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||
await wrapper.setData({
|
||||
|
|
@ -229,7 +216,6 @@ describe('TPA search page', () => {
|
|||
zipCode: '99230'
|
||||
}
|
||||
}],
|
||||
initialLoading: false,
|
||||
reloadProviders: false
|
||||
});
|
||||
const expectedAnswers = [{
|
||||
|
|
@ -257,17 +243,14 @@ describe('TPA search page', () => {
|
|||
expect(selectProviderQuestion.props().additionalButtonData).toEqual(expectedAdditionalButtonData);
|
||||
});
|
||||
test.each([[], null, undefined])(
|
||||
'no network providers alert when providers length is 0, undefined, or null and initialLoading and reloadProviders are false',
|
||||
'no network providers alert when providers length is 0, undefined, or null and reloadProviders is false',
|
||||
async (providers) => {
|
||||
// Arrange
|
||||
const initialData = {
|
||||
providers
|
||||
};
|
||||
const wrapper = shallowMount(tpaSearch, getMountOptions({}, initialData));
|
||||
await wrapper.setData({
|
||||
initialLoading: false,
|
||||
reloadProviders: false
|
||||
});
|
||||
await wrapper.setData({ reloadProviders: false });
|
||||
|
||||
// Act
|
||||
const noNetworkProvidersAlert = wrapper.findComponent('#alertNoNetworkProviders');
|
||||
|
|
@ -279,13 +262,10 @@ describe('TPA search page', () => {
|
|||
expect(noNetworkProvidersAlert.props().isDismissible).toBeFalsy();
|
||||
}
|
||||
);
|
||||
test('preferred shop not listed link when initialLoading and reloadProviders are false', async () => {
|
||||
test('preferred shop not listed link when reloadProviders is false', async () => {
|
||||
// Arrange
|
||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||
await wrapper.setData({
|
||||
initialLoading: false,
|
||||
reloadProviders: false
|
||||
});
|
||||
await wrapper.setData({ reloadProviders: false });
|
||||
|
||||
// Act
|
||||
const preferredShopNotListedLink = wrapper.findComponent('#preferredShopNotListedLink');
|
||||
|
|
@ -308,62 +288,16 @@ describe('TPA search page', () => {
|
|||
});
|
||||
});
|
||||
describe('should not render', () => {
|
||||
test('map loader when initialLoading is false', async () => {
|
||||
// Arrange
|
||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||
await wrapper.setData({ initialLoading: false });
|
||||
|
||||
// Act
|
||||
const mapLoader = wrapper.findComponent('#mapLoader');
|
||||
|
||||
// Assert
|
||||
expect(mapLoader.exists()).toBeFalsy();
|
||||
});
|
||||
test('map when initialLoading is true', async () => {
|
||||
test('select provider question when reloadProviders is true', async () => {
|
||||
// Arrange
|
||||
const { wrapper } = getMountedComponent();
|
||||
await wrapper.setData({ initialLoading: true });
|
||||
await wrapper.setData({ reloadProviders: true });
|
||||
|
||||
// Act
|
||||
const map = wrapper.findComponent('#map');
|
||||
const selectProviderQuestion = wrapper.findComponent('#selectProviderQuestion');
|
||||
|
||||
// Assert
|
||||
expect(map.exists()).toBeFalsy();
|
||||
});
|
||||
test('search radius filter when initialLoading is true', async () => {
|
||||
// Arrange
|
||||
const { wrapper } = getMountedComponent();
|
||||
await wrapper.setData({ initialLoading: true });
|
||||
|
||||
// Act
|
||||
const searchRadiusFilter = wrapper.findComponent('#searchRadiusFilter');
|
||||
|
||||
// Assert
|
||||
expect(searchRadiusFilter.exists()).toBeFalsy();
|
||||
});
|
||||
describe('select provider question', () => {
|
||||
test('when initialLoading is true', async () => {
|
||||
// Arrange
|
||||
const { wrapper } = getMountedComponent();
|
||||
await wrapper.setData({ initialLoading: true });
|
||||
|
||||
// Act
|
||||
const selectProviderQuestion = wrapper.findComponent('#selectProviderQuestion');
|
||||
|
||||
// Assert
|
||||
expect(selectProviderQuestion.exists()).toBeFalsy();
|
||||
});
|
||||
test('when reloadProviders is true', async () => {
|
||||
// Arrange
|
||||
const { wrapper } = getMountedComponent();
|
||||
await wrapper.setData({ reloadProviders: true });
|
||||
|
||||
// Act
|
||||
const selectProviderQuestion = wrapper.findComponent('#selectProviderQuestion');
|
||||
|
||||
// Assert
|
||||
expect(selectProviderQuestion.exists()).toBeFalsy();
|
||||
});
|
||||
expect(selectProviderQuestion.exists()).toBeFalsy();
|
||||
});
|
||||
describe('no network providers alert', () => {
|
||||
test('when providers length is not 0', async () => {
|
||||
|
|
@ -377,17 +311,6 @@ describe('TPA search page', () => {
|
|||
// Assert
|
||||
expect(noNetworkProvidersAlert.exists()).toBeFalsy();
|
||||
});
|
||||
test('when initialLoading is true', async () => {
|
||||
// Arrange
|
||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||
await wrapper.setData({ providers: [], initialLoading: true });
|
||||
|
||||
// Act
|
||||
const noNetworkProvidersAlert = wrapper.findComponent('#alertNoNetworkProviders');
|
||||
|
||||
// Assert
|
||||
expect(noNetworkProvidersAlert.exists()).toBeFalsy();
|
||||
});
|
||||
test('when reloadProviders is true', async () => {
|
||||
// Arrange
|
||||
const wrapper = shallowMount(tpaSearch, getMountOptions());
|
||||
|
|
@ -400,29 +323,16 @@ describe('TPA search page', () => {
|
|||
expect(noNetworkProvidersAlert.exists()).toBeFalsy();
|
||||
});
|
||||
});
|
||||
describe('preferred shop not listed link', () => {
|
||||
test('when initialLoading is true', async () => {
|
||||
// Arrange
|
||||
const { wrapper } = getMountedComponent();
|
||||
await wrapper.setData({ initialLoading: true });
|
||||
test('preferred shop not listed link when reloadProviders is true', async () => {
|
||||
// Arrange
|
||||
const { wrapper } = getMountedComponent();
|
||||
await wrapper.setData({ reloadProviders: true });
|
||||
|
||||
// Act
|
||||
const preferredShopNotListedLink = wrapper.findComponent('#preferredShopNotListedLink');
|
||||
// Act
|
||||
const preferredShopNotListedLink = wrapper.findComponent('#preferredShopNotListedLink');
|
||||
|
||||
// Assert
|
||||
expect(preferredShopNotListedLink.exists()).toBeFalsy();
|
||||
});
|
||||
test('when reloadProviders is true', async () => {
|
||||
// Arrange
|
||||
const { wrapper } = getMountedComponent();
|
||||
await wrapper.setData({ reloadProviders: true });
|
||||
|
||||
// Act
|
||||
const preferredShopNotListedLink = wrapper.findComponent('#preferredShopNotListedLink');
|
||||
|
||||
// Assert
|
||||
expect(preferredShopNotListedLink.exists()).toBeFalsy();
|
||||
});
|
||||
// Assert
|
||||
expect(preferredShopNotListedLink.exists()).toBeFalsy();
|
||||
});
|
||||
});
|
||||
describe('computed', () => {
|
||||
|
|
@ -835,15 +745,16 @@ describe('TPA search page', () => {
|
|||
});
|
||||
describe('watch', () => {
|
||||
// TODO update/add to filter watch tests
|
||||
test('on filter calls getTpaProviders and sets providers', async () => {
|
||||
test.only('on filter calls getTpaProviders and sets providers', async () => {
|
||||
// Arrange
|
||||
const zipCode = '78220';
|
||||
const initialMapZipCode = '88800';
|
||||
const { wrapper } = getMountedComponent({}, {
|
||||
zipCode,
|
||||
mapZipCode: initialMapZipCode
|
||||
mapZipCode: initialMapZipCode,
|
||||
dataLoaded: true
|
||||
});
|
||||
const providers = { data: { shopProviders: ['some data', 'some more data']} };
|
||||
const providers = { data: { shopProviders: ['some data', 'some more data'] } };
|
||||
useMainStore().getTpaProviders = jest.fn().mockImplementationOnce(() => (providers));
|
||||
const newFilter = 'new filter';
|
||||
|
||||
|
|
@ -855,6 +766,50 @@ describe('TPA search page', () => {
|
|||
expect(wrapper.vm.providers).toEqual(providers.data.shopProviders);
|
||||
expect(wrapper.vm.mapZipCode).toBe(zipCode);
|
||||
});
|
||||
describe('on filter', () => {
|
||||
test('calls getTpaProviders once and sets providers when dataLoaded is true', async () => {
|
||||
// Arrange
|
||||
const zipCode = '78220';
|
||||
const initialMapZipCode = '88800';
|
||||
const { wrapper } = getMountedComponent({}, {
|
||||
zipCode,
|
||||
mapZipCode: initialMapZipCode,
|
||||
dataLoaded: true
|
||||
});
|
||||
const providers = { data: { shopProviders: ['some data', 'some more data'] } };
|
||||
useMainStore().getTpaProviders = jest.fn().mockImplementationOnce(() => (providers));
|
||||
const newFilter = 'new filter';
|
||||
|
||||
// Act
|
||||
await wrapper.vm.$options.watch.filter.call(wrapper.vm, newFilter);
|
||||
|
||||
// Assert
|
||||
expect(useMainStore().getTpaProviders).toBeCalled();
|
||||
expect(wrapper.vm.providers).toEqual(providers.data.shopProviders);
|
||||
expect(wrapper.vm.mapZipCode).toBe(zipCode);
|
||||
});
|
||||
test('never calls getTpaProviders and does not set providers when dataLoaded is false', async () => {
|
||||
// Arrange
|
||||
const zipCode = '78220';
|
||||
const initialMapZipCode = '88800';
|
||||
const { wrapper } = getMountedComponent({}, {
|
||||
zipCode,
|
||||
mapZipCode: initialMapZipCode,
|
||||
dataLoaded: false
|
||||
});
|
||||
const providers = { data: { shopProviders: ['some data', 'some more data'] } };
|
||||
useMainStore().getTpaProviders = jest.fn().mockImplementationOnce(() => (providers));
|
||||
const newFilter = 'new filter';
|
||||
|
||||
// Act
|
||||
await wrapper.vm.$options.watch.filter.call(wrapper.vm, newFilter);
|
||||
|
||||
// Assert
|
||||
expect(useMainStore().getTpaProviders).not.toBeCalled();
|
||||
expect(wrapper.vm.providers).not.toEqual(providers.data.shopProviders);
|
||||
expect(wrapper.vm.mapZipCode).toBe(initialMapZipCode);
|
||||
});
|
||||
});
|
||||
// TODO confirm tests appropriate. Also should this method be async?
|
||||
describe('on providers', () => {
|
||||
test.each([null, undefined, []])(
|
||||
|
|
@ -897,10 +852,10 @@ describe('TPA search page', () => {
|
|||
});
|
||||
describe('method', () => {
|
||||
test.each([
|
||||
['address', 'city', 'ST', 'zip', 'address, city, ST zip'],
|
||||
['address', null, 'ST', 'zip', 'address, ST zip'],
|
||||
['address', 'city', null, 'zip', 'address, city zip'],
|
||||
['address', 'city', 'ST', null, 'address, city, ST'],
|
||||
['address', 'city', 'ST', 'zip', 'Address, City, ST zip'],
|
||||
['address', null, 'ST', 'zip', 'Address, ST zip'],
|
||||
['address', 'city', null, 'zip', 'Address, City zip'],
|
||||
['address', 'city', 'ST', null, 'Address, City, ST'],
|
||||
[null, null, null, null, '']
|
||||
])(
|
||||
'getProviderAddress returns expected',
|
||||
|
|
|
|||
|
|
@ -37,13 +37,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</Form>
|
||||
<!-- <loader
|
||||
v-if="initialLoading"
|
||||
id="mapLoader"
|
||||
loaderPosition="center"
|
||||
loaderColor="blue"
|
||||
:width="4"
|
||||
:height="4" /> -->
|
||||
<div>
|
||||
<googleMap
|
||||
id="map"
|
||||
|
|
@ -284,7 +277,7 @@ export default {
|
|||
this.reloadProviders = false;
|
||||
}
|
||||
},
|
||||
async providers(newProviders) {
|
||||
providers(newProviders) {
|
||||
if (newProviders?.length === 1 ?? false) {
|
||||
this.selectedProviderNumber = newProviders[0]?.providerNumber ?? '';
|
||||
}
|
||||
|
|
@ -310,7 +303,7 @@ export default {
|
|||
if (city) {
|
||||
addressLine2 += city;
|
||||
if (state || zipCode) {
|
||||
addressLine2 += state ? ',' : ' ';
|
||||
addressLine2 += state ? ', ' : ' ';
|
||||
}
|
||||
}
|
||||
if (state) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue