| /*! |
| * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. |
| * |
| * 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 {mapStateToProps} from 'sdc-app/onboarding/licenseModel/overview/LicenseModelOverview.js'; |
| import {overviewEditorHeaders, selectedButton} from 'sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewConstants.js'; |
| |
| import {LicenseModelOverviewFactory} from 'test-utils/factories/licenseModel/LicenseModelFactories.js'; |
| import { EntitlementPoolStoreFactory as EntitlementPool, EntitlementPoolDataListFactory } from 'test-utils/factories/licenseModel/EntitlementPoolFactories.js'; |
| import { FeatureGroupStoreFactory as FeatureGroup, FeatureGroupDataListFactory} from 'test-utils/factories/licenseModel/FeatureGroupFactories.js'; |
| import {LicenseAgreementStoreFactory as LicenseAgreement, LicenseAgreementDataListFactory} from 'test-utils/factories/licenseModel/LicenseAgreementFactories.js'; |
| import { LicenseKeyGroupStoreFactory as LicenseKeyGroup, LicenseKeyGroupDataListFactory} from 'test-utils/factories/licenseModel/LicenseKeyGroupFactories.js'; |
| |
| describe('License Model Overview: ', function () { |
| |
| it('should mapper exist', () => { |
| expect(mapStateToProps).toBeTruthy(); |
| }); |
| |
| const VLM1 = LicenseModelOverviewFactory.build({ |
| featureGroup: { |
| featureGroupsList: [], |
| }, |
| entitlementPool: { |
| entitlementPoolsList: [] |
| }, |
| licenseKeyGroup: { |
| licenseKeyGroupsList: [] |
| } |
| }); |
| |
| it('should mapper return vlm overview basic data', () => { |
| const state = { |
| licenseModel: VLM1 |
| }; |
| |
| var props = mapStateToProps(state); |
| expect(props.isReadOnlyMode).toEqual(true); |
| expect(props.isDisplayModal).toEqual(false); |
| expect(props.modalHeader).toEqual(undefined); |
| expect(props.licenseModelId).toEqual(VLM1.licenseModelEditor.data.id); |
| expect(props.licensingDataList).toEqual([]); |
| expect(props.orphanDataList).toEqual([]); |
| expect(props.selectedTab).toEqual(selectedButton.VLM_LIST_VIEW); |
| }); |
| |
| it('should mapper return overview data for show LA modal', () => { |
| const VLM1 = LicenseModelOverviewFactory.build({ |
| licenseAgreement: { |
| licenseAgreementEditor: { |
| data: LicenseAgreement.build() |
| } |
| }, |
| featureGroup: { |
| featureGroupsList: [], |
| }, |
| entitlementPool: { |
| entitlementPoolsList: [] |
| }, |
| licenseKeyGroup: { |
| licenseKeyGroupsList: [] |
| } |
| }); |
| |
| var state = { |
| licenseModel: VLM1 |
| }; |
| |
| var props = mapStateToProps(state); |
| expect(props.isReadOnlyMode).toEqual(true); |
| expect(props.isDisplayModal).toEqual(true); |
| expect(props.modalHeader).toEqual(overviewEditorHeaders.LICENSE_AGREEMENT); |
| expect(props.licenseModelId).toEqual(VLM1.licenseModelEditor.data.id); |
| expect(props.licensingDataList).toEqual([]); |
| expect(props.selectedTab).toEqual(selectedButton.VLM_LIST_VIEW); |
| }); |
| |
| it('should mapper return overview data for show FG modal', () => { |
| |
| const VLM1 = LicenseModelOverviewFactory.build({ |
| featureGroup: { |
| featureGroupsList: [], |
| featureGroupEditor: { |
| data: FeatureGroup.build() |
| } |
| }, |
| entitlementPool: { |
| entitlementPoolsList: [] |
| }, |
| licenseKeyGroup: { |
| licenseKeyGroupsList: [] |
| }, |
| licenseModelOverview: { |
| selectedTab: selectedButton.NOT_IN_USE |
| } |
| }); |
| |
| var state = { |
| licenseModel: VLM1 |
| }; |
| |
| var props = mapStateToProps(state); |
| expect(props.isReadOnlyMode).toEqual(true); |
| expect(props.isDisplayModal).toEqual(true); |
| expect(props.modalHeader).toEqual(overviewEditorHeaders.FEATURE_GROUP); |
| expect(props.licenseModelId).toEqual(VLM1.licenseModelEditor.data.id); |
| expect(props.licensingDataList).toEqual([]); |
| expect(props.selectedTab).toEqual(selectedButton.NOT_IN_USE); |
| }); |
| |
| it('should mapper return overview data for show EP modal', () => { |
| const VLM1 = LicenseModelOverviewFactory.build( { |
| featureGroup: { |
| featureGroupsList: [], |
| }, |
| entitlementPool: { |
| entitlementPoolsList: [], |
| entitlementPoolEditor: { |
| data: EntitlementPool.build() |
| } |
| }, |
| licenseKeyGroup: { |
| licenseKeyGroupsList: [] |
| } |
| }); |
| |
| var state = { |
| licenseModel: VLM1 |
| }; |
| |
| var props = mapStateToProps(state); |
| expect(props.isReadOnlyMode).toEqual(true); |
| expect(props.isDisplayModal).toEqual(true); |
| expect(props.modalHeader).toEqual(overviewEditorHeaders.ENTITLEMENT_POOL); |
| expect(props.licenseModelId).toEqual(VLM1.licenseModelEditor.data.id); |
| expect(props.licensingDataList).toEqual([]); |
| expect(props.selectedTab).toEqual(selectedButton.VLM_LIST_VIEW); |
| }); |
| |
| it('should mapper return overview data for show LKG modal', () => { |
| const VLM1 = LicenseModelOverviewFactory.build({ |
| licenseKeyGroup: { |
| licenseKeyGroupsList: [], |
| licenseKeyGroupsEditor: { |
| data: LicenseKeyGroup.build() |
| } |
| }, |
| entitlementPool: { |
| entitlementPoolsList: [] |
| }, |
| featureGroup: { |
| featureGroupsList: [] |
| }, |
| licenseModelOverview: { |
| selectedTab: selectedButton.NOT_IN_USE |
| } |
| }); |
| |
| var state = { |
| licenseModel: VLM1 |
| }; |
| |
| var props = mapStateToProps(state); |
| expect(props.isReadOnlyMode).toEqual(true); |
| expect(props.isDisplayModal).toEqual(true); |
| expect(props.modalHeader).toEqual(overviewEditorHeaders.LICENSE_KEY_GROUP); |
| expect(props.licenseModelId).toEqual(VLM1.licenseModelEditor.data.id); |
| expect(props.licensingDataList).toEqual([]); |
| expect(props.selectedTab).toEqual(selectedButton.NOT_IN_USE); |
| }); |
| |
| it('should mapper return overview data for Full-hierarchy list view', () => { |
| let EP1 = EntitlementPool.build(); |
| let LKG1 = LicenseKeyGroup.build(); |
| let FG1 = FeatureGroup.build({ |
| entitlementPoolsIds: [EP1.id], |
| licenseKeyGroupsIds: [LKG1.id] |
| }); |
| EP1.referencingFeatureGroups = [FG1.id]; |
| LKG1.referencingFeatureGroups = [FG1.id]; |
| let LA1 = LicenseAgreement.build({ |
| featureGroupsIds: [FG1.id] |
| }); |
| FG1.referencingLicenseAgreements = LA1.id; |
| let LA2 = LicenseAgreement.build(); |
| |
| const VLM1 = LicenseModelOverviewFactory.build({ |
| licenseAgreement: { |
| licenseAgreementList: [LA1, LA2] |
| }, |
| featureGroup: { |
| featureGroupsList: [FG1] |
| }, |
| entitlementPool: { |
| entitlementPoolsList: [EP1] |
| }, |
| licenseKeyGroup: { |
| licenseKeyGroupsList: [LKG1] |
| }, |
| }); |
| |
| const state = { |
| licenseModel: VLM1 |
| }; |
| |
| const expectedLicensingDataList = [ |
| LicenseAgreementDataListFactory.build({ |
| ...LA1, |
| children: [ |
| FeatureGroupDataListFactory.build({ |
| ...FG1, |
| children: [ |
| EntitlementPoolDataListFactory.build(EP1), |
| LicenseKeyGroupDataListFactory.build(LKG1) |
| ] |
| }) |
| ] |
| }), |
| LicenseAgreementDataListFactory.build(LA2) |
| ]; |
| |
| var props = mapStateToProps(state); |
| |
| expect(props.isReadOnlyMode).toEqual(true); |
| expect(props.isDisplayModal).toEqual(false); |
| expect(props.modalHeader).toEqual(undefined); |
| expect(props.licenseModelId).toEqual(VLM1.licenseModelEditor.data.id); |
| expect(props.licensingDataList).toEqual(expectedLicensingDataList); |
| expect(props.selectedTab).toEqual(selectedButton.VLM_LIST_VIEW); |
| }); |
| |
| it('should mapper return overview data for list view with 2 levels', () => { |
| let EP1 = EntitlementPool.build(); |
| let LKG1 = LicenseKeyGroup.build(); |
| let FG1 = FeatureGroup.build(); |
| let LA1 = LicenseAgreement.build({ |
| featureGroupsIds: [FG1.id] |
| }); |
| let LA2 = LicenseAgreement.build(); |
| FG1.referencingLicenseAgreements = [LA1.id]; |
| |
| const VLM1 = LicenseModelOverviewFactory.build({ |
| licenseAgreement: { |
| licenseAgreementList: [LA1, LA2] |
| }, |
| featureGroup: { |
| featureGroupsList: [FG1] |
| }, |
| entitlementPool: { |
| entitlementPoolsList: [EP1] |
| }, |
| licenseKeyGroup: { |
| licenseKeyGroupsList: [LKG1] |
| }, |
| }); |
| |
| const state = { |
| licenseModel: VLM1 |
| }; |
| |
| const expectedLicensingDataList = [ |
| LicenseAgreementDataListFactory.build({ |
| ...LA1, |
| children: [ |
| FeatureGroupDataListFactory.build(FG1) |
| ] |
| }), |
| LicenseAgreementDataListFactory.build(LA2) |
| ]; |
| |
| var props = mapStateToProps(state); |
| |
| expect(props.isReadOnlyMode).toEqual(true); |
| expect(props.isDisplayModal).toEqual(false); |
| expect(props.modalHeader).toEqual(undefined); |
| expect(props.licenseModelId).toEqual(VLM1.licenseModelEditor.data.id); |
| expect(props.licensingDataList).toEqual(expectedLicensingDataList); |
| expect(props.selectedTab).toEqual(selectedButton.VLM_LIST_VIEW); |
| }); |
| |
| it('should mapper return overview data for Full NOT-IN-USE list view', () => { |
| let EP1 = EntitlementPool.build(); |
| let LKG1 = LicenseKeyGroup.build(); |
| let FG1 = FeatureGroup.build(); |
| |
| const VLM1 = LicenseModelOverviewFactory.build({ |
| licenseAgreement: { licenseAgreementList: [] }, |
| featureGroup: { |
| featureGroupsList: [FG1] |
| }, |
| entitlementPool: { |
| entitlementPoolsList: [EP1] |
| }, |
| licenseKeyGroup: { |
| licenseKeyGroupsList: [LKG1] |
| }, |
| licenseModelOverview: { |
| selectedTab: selectedButton.NOT_IN_USE |
| } |
| }); |
| const state = { |
| licenseModel: VLM1 |
| }; |
| |
| const expectedLicensingDataList = [ |
| FeatureGroupDataListFactory.build(FG1), |
| EntitlementPoolDataListFactory.build(EP1), |
| LicenseKeyGroupDataListFactory.build(LKG1) |
| ]; |
| |
| var props = mapStateToProps(state); |
| |
| expect(props.isReadOnlyMode).toEqual(true); |
| expect(props.isDisplayModal).toEqual(false); |
| expect(props.modalHeader).toEqual(undefined); |
| expect(props.licenseModelId).toEqual(VLM1.licenseModelEditor.data.id); |
| expect(props.licensingDataList).toEqual([]); |
| expect(props.orphanDataList).toEqual(expectedLicensingDataList); |
| expect(props.selectedTab).toEqual(selectedButton.NOT_IN_USE); |
| }); |
| |
| it('should mapper return overview data for NOT-IN-USE list view (FG with children)', () => { |
| let EP1 = EntitlementPool.build(); |
| let LKG1 = LicenseKeyGroup.build(); |
| let FG1 = FeatureGroup.build({ |
| entitlementPoolsIds: [EP1.id], |
| licenseKeyGroupsIds: [LKG1.id] |
| }); |
| EP1.referencingFeatureGroups = [FG1.id]; |
| LKG1.referencingFeatureGroups = [FG1.id]; |
| |
| const VLM1 = LicenseModelOverviewFactory.build({ |
| licenseAgreement: { licenseAgreementList: [] }, |
| featureGroup: { |
| featureGroupsList: [FG1] |
| }, |
| entitlementPool: { |
| entitlementPoolsList: [EP1] |
| }, |
| licenseKeyGroup: { |
| licenseKeyGroupsList: [LKG1] |
| }, |
| licenseModelOverview: { |
| selectedTab: selectedButton.NOT_IN_USE |
| } |
| }); |
| |
| const state = { |
| licenseModel: VLM1 |
| }; |
| |
| const expectedLicensingDataList = [ |
| FeatureGroupDataListFactory.build({ |
| ...FG1, |
| children: [ |
| EntitlementPoolDataListFactory.build(EP1), |
| LicenseKeyGroupDataListFactory.build(LKG1)] |
| }) |
| ]; |
| |
| var props = mapStateToProps(state); |
| |
| expect(props.isReadOnlyMode).toEqual(true); |
| expect(props.isDisplayModal).toEqual(false); |
| expect(props.modalHeader).toEqual(undefined); |
| expect(props.licenseModelId).toEqual(VLM1.licenseModelEditor.data.id); |
| expect(props.licensingDataList).toEqual([]); |
| expect(props.orphanDataList).toEqual(expectedLicensingDataList); |
| expect(props.selectedTab).toEqual(selectedButton.NOT_IN_USE); |
| }); |
| |
| }); |