diff options
Diffstat (limited to 'openecomp-ui/test/onboard/filter')
-rw-r--r-- | openecomp-ui/test/onboard/filter/filter.test.js | 146 | ||||
-rw-r--r-- | openecomp-ui/test/onboard/filter/filterView.test.js | 34 |
2 files changed, 180 insertions, 0 deletions
diff --git a/openecomp-ui/test/onboard/filter/filter.test.js b/openecomp-ui/test/onboard/filter/filter.test.js new file mode 100644 index 0000000000..1b89a306bf --- /dev/null +++ b/openecomp-ui/test/onboard/filter/filter.test.js @@ -0,0 +1,146 @@ +/* + * Copyright © 2016-2018 European Support Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { storeCreator } from 'sdc-app/AppStore.js'; +import mockRest from 'test-utils/MockRest.js'; +import { cloneAndSet } from 'test-utils/Util.js'; +import { actionTypes } from 'sdc-app/onboarding/onboard/filter/FilterConstants.js'; +import { + vspFactory, + vlmFactory +} from 'test-utils/factories/common/ItemsHelperFactory.js'; +import { FilterFactory } from 'test-utils/factories/onboard/FilterFactories.js'; +import { + itemStatus, + versionStatus +} from 'sdc-app/common/helpers/ItemsHelperConstants.js'; +import OnboardActionHelper from 'sdc-app/onboarding/onboard/OnboardActionHelper.js'; +import { tabsMapping } from 'sdc-app/onboarding/onboard/OnboardConstants.js'; + +const vsps = vspFactory.buildList(1); +const vlms = vlmFactory.buildList(1); + +const timeoutPromise = new Promise(resolve => { + setTimeout(function() { + resolve(); + }, 100); +}); + +describe('Onboard Filter Tests', () => { + it('basic test', done => { + const store = storeCreator(); + + mockRest.addHandler('fetch', ({ data, options, baseUrl }) => { + expect(baseUrl).toEqual( + `/onboarding-api/v1.0/items?&itemStatus=${ + itemStatus.ACTIVE + }&versionStatus=${versionStatus.DRAFT}` + ); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return { results: [] }; + }); + const expectedStore = store.getState(); + store.dispatch({ + type: actionTypes.FILTER_DATA_CHANGED, + deltaData: {} + }); + return timeoutPromise.then(function() { + expect(store.getState()).toEqual(expectedStore); + done(); + }); + }); + /** + * TODO Turn ON when FILTER TOGGLE Will BE REMOVED + */ + /* + it('load certifed data', done => { + const store = storeCreator(); + + mockRest.addHandler('fetch', ({ data, options, baseUrl }) => { + expect(baseUrl).toEqual( + `/onboarding-api/v1.0/items?&itemStatus=${ + itemStatus.ACTIVE + }&versionStatus=${versionStatus.CERTIFIED}` + ); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return { + results: [...vsps, ...vlms] + }; + }); + + const expectedStore = cloneAndSet( + store.getState(), + 'onboard.filter', + FilterFactory.build({ versionStatus: versionStatus.CERTIFIED }) + ); + + const expectedFilteredItems = { + vspList: [ + ...vsps.map(({ properties, ...other }) => ({ + ...other, + ...properties + })) + ], + vlmList: [...vlms] + }; + const expectedStoreWithFilteredLists = cloneAndSet( + expectedStore, + 'filteredItems', + expectedFilteredItems + ); + store.dispatch({ + type: actionTypes.FILTER_DATA_CHANGED, + deltaData: { versionStatus: versionStatus.CERTIFIED } + }); + + return timeoutPromise.then(function() { + expect(store.getState()).toEqual(expectedStoreWithFilteredLists); + done(); + }); + }); + */ + it('onboarding tabs switching filter updates', done => { + const store = storeCreator(); + + mockRest.addHandler('fetch', ({ data, options, baseUrl }) => { + expect(baseUrl).toEqual( + `/onboarding-api/v1.0/items?&itemStatus=${ + itemStatus.ACTIVE + }&versionStatus=${versionStatus.CERTIFIED}` + ); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return { results: [] }; + }); + + expect(store.getState().onboard.filter.versionStatus).toEqual( + versionStatus.DRAFT + ); + + OnboardActionHelper.changeActiveTab( + store.dispatch, + tabsMapping.CATALOG + ); + + return timeoutPromise.then(() => { + expect(store.getState().onboard.filter.versionStatus).toEqual( + versionStatus.CERTIFIED + ); + done(); + }); + }); +}); diff --git a/openecomp-ui/test/onboard/filter/filterView.test.js b/openecomp-ui/test/onboard/filter/filterView.test.js new file mode 100644 index 0000000000..536f02cf49 --- /dev/null +++ b/openecomp-ui/test/onboard/filter/filterView.test.js @@ -0,0 +1,34 @@ +/* + * Copyright © 2016-2018 European Support Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { mount } from 'enzyme'; +import { Provider } from 'react-redux'; +import { storeCreator } from 'sdc-app/AppStore.js'; +import { ConnectedFilter } from 'sdc-app/onboarding//onboard//filter/Filter.jsx'; + +describe('Filter component view Tests', () => { + it('simple jsx test', () => { + const store = storeCreator(); + const wrapper = mount( + <Provider store={store}> + <ConnectedFilter /> + </Provider> + ); + const filter = wrapper.find('.catalog-filter'); + expect(filter.hasClass('catalog-filter')).toBeTruthy(); + }); +}); |