summaryrefslogtreecommitdiffstats
path: root/openecomp-ui/test/onboard/filter/filter.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-ui/test/onboard/filter/filter.test.js')
-rw-r--r--openecomp-ui/test/onboard/filter/filter.test.js146
1 files changed, 146 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();
+ });
+ });
+});