From ea5e43cc939f2010b4f4c97cb8d346c91348fbba Mon Sep 17 00:00:00 2001 From: svishnev Date: Sun, 15 Apr 2018 09:06:57 +0300 Subject: Onboarding filter Issue-ID: SDC-1187 Change-Id: I74ce464c8ee4060c381b094d26d1ded270cdf40d Signed-off-by: svishnev --- openecomp-ui/test/onboard/filter/filter.test.js | 146 +++++++++++++++++++++ .../test/onboard/filter/filterView.test.js | 34 +++++ openecomp-ui/test/onboard/test.js | 90 +++++++------ 3 files changed, 232 insertions(+), 38 deletions(-) create mode 100644 openecomp-ui/test/onboard/filter/filter.test.js create mode 100644 openecomp-ui/test/onboard/filter/filterView.test.js (limited to 'openecomp-ui/test/onboard') 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( + + + + ); + const filter = wrapper.find('.catalog-filter'); + expect(filter.hasClass('catalog-filter')).toBeTruthy(); + }); +}); diff --git a/openecomp-ui/test/onboard/test.js b/openecomp-ui/test/onboard/test.js index 232c5615c9..a75070bf26 100644 --- a/openecomp-ui/test/onboard/test.js +++ b/openecomp-ui/test/onboard/test.js @@ -13,50 +13,64 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import {storeCreator} from 'sdc-app/AppStore.js'; -import {OnboardStoreFactory} from 'test-utils/factories/onboard/OnboardFactories.js'; +import { storeCreator } from 'sdc-app/AppStore.js'; +import { OnboardStoreFactory } from 'test-utils/factories/onboard/OnboardFactories.js'; import OnboardActionHelper from 'sdc-app/onboarding/onboard/OnboardActionHelper.js'; import OnboardingCatalogActionHelper from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogActionHelper.js'; -import {tabsMapping as onboardTabsMapping} from 'sdc-app/onboarding/onboard/OnboardConstants.js'; -import {tabsMapping as onboardCatalogTabsMapping} from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogConstants.js'; +import { tabsMapping as onboardTabsMapping } from 'sdc-app/onboarding/onboard/OnboardConstants.js'; +import { tabsMapping as onboardCatalogTabsMapping } from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogConstants.js'; +import { FilterFactory } from 'test-utils/factories/onboard/FilterFactories.js'; describe('Onboard Module Tests', () => { - it('should return default state', () => { - const store = storeCreator(); - const expectedStore = OnboardStoreFactory.build(); - expect(store.getState().onboard).toEqual(expectedStore); - }); + it('should return default state', () => { + const store = storeCreator(); + const expectedStore = OnboardStoreFactory.build(); + expect(store.getState().onboard).toEqual(expectedStore); + }); - it('should change active tab to Catalog', () => { - const store = storeCreator(); - const expectedStore = OnboardStoreFactory.build({activeTab: onboardTabsMapping.CATALOG}); - OnboardActionHelper.changeActiveTab(store.dispatch, onboardTabsMapping.CATALOG); - expect(store.getState().onboard).toEqual(expectedStore); - }); + it('should change active tab to Catalog', () => { + const store = storeCreator(); + const expectedStore = OnboardStoreFactory.build({ + activeTab: onboardTabsMapping.CATALOG, + filter: FilterFactory.build({ versionStatus: 'Certified' }) + }); + OnboardActionHelper.changeActiveTab( + store.dispatch, + onboardTabsMapping.CATALOG + ); + expect(store.getState().onboard).toEqual(expectedStore); + }); - it('should change searchValue', () => { - const store = storeCreator(); - const expectedStore = OnboardStoreFactory.build({searchValue: 'hello'}); - OnboardActionHelper.changeSearchValue(store.dispatch, 'hello'); - expect(store.getState().onboard).toEqual(expectedStore); - }); + it('should change searchValue', () => { + const store = storeCreator(); + const expectedStore = OnboardStoreFactory.build({ + searchValue: 'hello' + }); + OnboardActionHelper.changeSearchValue(store.dispatch, 'hello'); + expect(store.getState().onboard).toEqual(expectedStore); + }); - it('should clear searchValue', () => { - const store = storeCreator(); - const expectedStore = OnboardStoreFactory.build(); - OnboardActionHelper.changeSearchValue(store.dispatch, 'hello'); - OnboardActionHelper.clearSearchValue(store.dispatch); - expect(store.getState().onboard).toEqual(expectedStore); - }); - - it('should reset store', () => { - const store = storeCreator(); - const expectedStore = OnboardStoreFactory.build(); - OnboardActionHelper.changeSearchValue(store.dispatch, 'hello'); - OnboardActionHelper.changeActiveTab(store.dispatch, onboardTabsMapping.CATALOG); - OnboardingCatalogActionHelper.changeActiveTab(store.dispatch, onboardCatalogTabsMapping.ACTIVE); - OnboardActionHelper.resetOnboardStore(store.dispatch, 'hello'); - expect(store.getState().onboard).toEqual(expectedStore); - }); + it('should clear searchValue', () => { + const store = storeCreator(); + const expectedStore = OnboardStoreFactory.build(); + OnboardActionHelper.changeSearchValue(store.dispatch, 'hello'); + OnboardActionHelper.clearSearchValue(store.dispatch); + expect(store.getState().onboard).toEqual(expectedStore); + }); + it('should reset store', () => { + const store = storeCreator(); + const expectedStore = OnboardStoreFactory.build(); + OnboardActionHelper.changeSearchValue(store.dispatch, 'hello'); + OnboardActionHelper.changeActiveTab( + store.dispatch, + onboardTabsMapping.CATALOG + ); + OnboardingCatalogActionHelper.changeActiveTab( + store.dispatch, + onboardCatalogTabsMapping.ACTIVE + ); + OnboardActionHelper.resetOnboardStore(store.dispatch, 'hello'); + expect(store.getState().onboard).toEqual(expectedStore); + }); }); -- cgit 1.2.3-korg