| /* |
| * 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 ShallowRenderer from 'react-test-renderer/shallow'; |
| import {mapStateToProps, mapActionsToProps} from 'sdc-app/onboarding/versionsPage/creation/VersionsPageCreation.js'; |
| import {VERSION_CREATION_FORM_NAME} from 'sdc-app/onboarding/versionsPage/creation/VersionsPageCreationConstants.js'; |
| import VersionsPageCreationActionHelper from 'sdc-app/onboarding/versionsPage/creation/VersionsPageCreationActionHelper.js'; |
| import VersionsPageCreationView from 'sdc-app/onboarding/versionsPage/creation/VersionsPageCreationView.jsx'; |
| import {VersionsPageCreationFactory, |
| VersionsPageCreationFieldInfoFactory} from 'test-utils/factories/versionsPage/VersionsPageCreationFactories.js'; |
| import {VersionsPageAdditionalPropsFactory} from 'test-utils/factories/versionsPage/VersionsPageFactories.js'; |
| import {storeCreator} from 'sdc-app/AppStore.js'; |
| |
| describe('Versions Page Creation Module Tests', function() { |
| |
| let versionCreationData, genericFieldInfo; |
| let store, dispatch; |
| |
| beforeAll(() => { |
| store = storeCreator(); |
| dispatch = store.dispatch; |
| versionCreationData = VersionsPageCreationFactory.build(); |
| genericFieldInfo = VersionsPageCreationFieldInfoFactory.build(); |
| }); |
| |
| const additionalProps = VersionsPageAdditionalPropsFactory.build(); |
| |
| it ('mapStateToProps mapper exists', () => { |
| |
| expect(mapStateToProps).toBeTruthy(); |
| |
| }); |
| |
| it ('should return empty data', () => { |
| |
| const state = { |
| versionsPage: { |
| versionCreation: { |
| data: {}, |
| genericFieldInfo: {} |
| } |
| } |
| }; |
| |
| const props = mapStateToProps(state); |
| expect(props.data).toEqual({}); |
| expect(props.isFormValid).toEqual(true); |
| |
| }); |
| |
| it ('should have state in props', () => { |
| |
| const state = { |
| versionsPage: { |
| versionCreation: { |
| data: versionCreationData, |
| genericFieldInfo |
| } |
| } |
| }; |
| |
| const props = mapStateToProps(state); |
| expect(props.isFormValid).toEqual(true); |
| expect(props.data.description).toEqual(versionCreationData.description); |
| expect(props.genericFieldInfo).toEqual(genericFieldInfo); |
| |
| }); |
| |
| it('simple jsx test', () => { |
| |
| const state = { |
| versionsPage: { |
| versionCreation: { |
| data: versionCreationData, |
| genericFieldInfo |
| } |
| } |
| }; |
| |
| const props = Object.assign({}, mapStateToProps(state), mapActionsToProps(dispatch, additionalProps), additionalProps); |
| const renderer = new ShallowRenderer(); |
| renderer.render(<VersionsPageCreationView {...props} />); |
| |
| const renderedOutput = renderer.getRenderOutput(); |
| expect(renderedOutput).toBeTruthy(); |
| |
| }); |
| |
| it('open/close form actions', () => { |
| |
| VersionsPageCreationActionHelper.open(dispatch, additionalProps); |
| expect(store.getState().versionsPage.versionCreation.formName).toEqual(VERSION_CREATION_FORM_NAME); |
| |
| VersionsPageCreationActionHelper.close(dispatch); |
| expect(store.getState().versionsPage.versionCreation).toEqual({}); |
| |
| }); |
| |
| }); |