aboutsummaryrefslogtreecommitdiffstats
path: root/ui-react/src/components/dialogs
diff options
context:
space:
mode:
authorxuegao <xg353y@intl.att.com>2019-09-19 14:23:14 +0200
committerxuegao <xg353y@intl.att.com>2019-09-24 11:07:36 +0200
commit841ddaaa26c0faf16353d8e22093daa2553aad57 (patch)
tree61aaa6d28490a6b5f2037b4a6edb10ed5fdad2e5 /ui-react/src/components/dialogs
parent27cbec79e30f7e25a7419be38dd9bb7c324c782c (diff)
Add unit tests for UI
Adding unit tests for React UI Issue-ID: CLAMP-509 Change-Id: If31bbea7972736aa190fd0fed19336a1aa382af8 Signed-off-by: xuegao <xg353y@intl.att.com>
Diffstat (limited to 'ui-react/src/components/dialogs')
-rw-r--r--ui-react/src/components/dialogs/DeployLoop.js2
-rw-r--r--ui-react/src/components/dialogs/DeployLoop.test.js46
-rw-r--r--ui-react/src/components/dialogs/LoopProperties.test.js61
-rw-r--r--ui-react/src/components/dialogs/UserInfo.test.js86
-rw-r--r--ui-react/src/components/dialogs/__snapshots__/DeployLoop.test.js.snap66
-rw-r--r--ui-react/src/components/dialogs/__snapshots__/LoopProperties.test.js.snap59
-rw-r--r--ui-react/src/components/dialogs/__snapshots__/UserInfo.test.js.snap137
7 files changed, 456 insertions, 1 deletions
diff --git a/ui-react/src/components/dialogs/DeployLoop.js b/ui-react/src/components/dialogs/DeployLoop.js
index 2ec395d2..805f0f29 100644
--- a/ui-react/src/components/dialogs/DeployLoop.js
+++ b/ui-react/src/components/dialogs/DeployLoop.js
@@ -58,7 +58,7 @@ export default class DeployLoop extends React.Component {
handleClose(){
this.props.history.push('/');
}
- handleSave(e) {
+ handleSave() {
const loopName = this.props.loopCache.getLoopName();
// save the global propserties
LoopService.updateGlobalProperties(loopName, this.state.temporaryPropertiesJson).then(resp => {
diff --git a/ui-react/src/components/dialogs/DeployLoop.test.js b/ui-react/src/components/dialogs/DeployLoop.test.js
new file mode 100644
index 00000000..bb08baf1
--- /dev/null
+++ b/ui-react/src/components/dialogs/DeployLoop.test.js
@@ -0,0 +1,46 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 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.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+import React from 'react';
+import { shallow } from 'enzyme';
+import DeployLoop from './DeployLoop';
+import LoopCache from '../../api/LoopCache';
+
+describe('Verify DeployLoop', () => {
+ const loopCache = new LoopCache({
+ "name": "LOOP_Jbv1z_v1_0_ResourceInstanceName1_tca",
+ "globalPropertiesJson": {
+ "dcaeDeployParameters": {
+ "location_id": "",
+ "policy_id": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca"
+ }
+ }
+ });
+
+ it('Test the render method', () => {
+ const component = shallow(
+ <DeployLoop loopCache={loopCache}/>
+ )
+
+ expect(component).toMatchSnapshot();
+ });
+}); \ No newline at end of file
diff --git a/ui-react/src/components/dialogs/LoopProperties.test.js b/ui-react/src/components/dialogs/LoopProperties.test.js
new file mode 100644
index 00000000..fadb9099
--- /dev/null
+++ b/ui-react/src/components/dialogs/LoopProperties.test.js
@@ -0,0 +1,61 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 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.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+import React from 'react';
+import { shallow } from 'enzyme';
+import LoopProperties from './LoopProperties';
+import LoopCache from '../../api/LoopCache';
+
+describe('Verify LoopProperties', () => {
+ const loopCache = new LoopCache({
+ "name": "LOOP_Jbv1z_v1_0_ResourceInstanceName1_tca",
+ "globalPropertiesJson": {
+ "dcaeDeployParameters": {
+ "location_id": "",
+ "policy_id": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca"
+ }
+ }
+ });
+
+ it('Test the render method', () => {
+ const component = shallow(
+ <LoopProperties loopCache={loopCache}/>
+ )
+ component.setState({ show: true,
+ temporaryPropertiesJson: {
+ "dcaeDeployParameters": {
+ "location_id": "",
+ "policy_id": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca"
+ }
+ }
+ });
+
+ expect(component.state('temporaryPropertiesJson')).toEqual({
+ "dcaeDeployParameters": {
+ "location_id": "",
+ "policy_id": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca"}
+ });
+ expect(component.state('show')).toEqual(true);
+
+ expect(component).toMatchSnapshot();
+ });
+});
diff --git a/ui-react/src/components/dialogs/UserInfo.test.js b/ui-react/src/components/dialogs/UserInfo.test.js
new file mode 100644
index 00000000..186dac83
--- /dev/null
+++ b/ui-react/src/components/dialogs/UserInfo.test.js
@@ -0,0 +1,86 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 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.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+import React from 'react';
+import { shallow } from 'enzyme';
+import UserInfo from './UserInfo';
+
+describe('Verify UserInfo', () => {
+
+ beforeEach(() => {
+ fetch.resetMocks();
+ fetch.mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ json: () => {
+ return Promise.resolve({
+ "userName": "test",
+ "cldsVersion": "1.0.0",
+ });
+ }});
+ });
+ })
+
+ it('Test the render method full permission', () => {
+ const component = shallow(<UserInfo />)
+ component.setState({ userInfo: {
+ "userName": "test",
+ "cldsVersion": "1.0.0",
+ "permissionReadCl": true,
+ "permissionReadTemplate" : true,
+ "permissionReadTosca" : true,
+ "permissionUpdateTemplate" : true,
+ "permissionUpdateCl" : true,
+ "permissionUpdateTosca": true
+ }});
+ expect(component).toMatchSnapshot();
+ });
+
+ it('Test the render method no permission', () => {
+ const component = shallow(<UserInfo />)
+ component.setState({ userInfo: {}
+ });
+
+ expect(component.find('FormControl').length).toEqual(0);
+ });
+
+ it('Test the render method read permission', () => {
+ const component = shallow(<UserInfo />)
+ component.setState({ userInfo: {
+ "userName": "test",
+ "cldsVersion": "1.0.0",
+ "permissionReadCl": true,
+ "permissionReadTemplate" : true,
+ "permissionReadTosca" : true
+ }});
+
+ expect(component.find('FormControl').length).toEqual(5);
+
+ const forms = component.find('FormControl');
+ expect(forms.get(0).props.defaultValue).toEqual("test");
+ expect(forms.get(1).props.defaultValue).toEqual("1.0.0");
+ expect(forms.get(2).props.defaultValue).toEqual("Read Template");
+ expect(forms.get(3).props.defaultValue).toEqual("Read Model");
+ expect(forms.get(4).props.defaultValue).toEqual("Read Tosca");
+ });
+});
diff --git a/ui-react/src/components/dialogs/__snapshots__/DeployLoop.test.js.snap b/ui-react/src/components/dialogs/__snapshots__/DeployLoop.test.js.snap
new file mode 100644
index 00000000..1fd4b104
--- /dev/null
+++ b/ui-react/src/components/dialogs/__snapshots__/DeployLoop.test.js.snap
@@ -0,0 +1,66 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Verify DeployLoop Test the render method 1`] = `
+<Styled(Bootstrap(Modal))
+ onHide={[Function]}
+ show={true}
+ size="lg"
+>
+ <ModalHeader
+ closeButton={true}
+ closeLabel="Close"
+ >
+ <ModalTitle>
+ Deployment parameters
+ </ModalTitle>
+ </ModalHeader>
+ <Styled(FormGroup)>
+ <FormLabel
+ column={false}
+ srOnly={false}
+ >
+ location_id
+ </FormLabel>
+ <FormControl
+ defaultValue=""
+ name="location_id"
+ onChange={[Function]}
+ type="text"
+ />
+ </Styled(FormGroup)>
+ <Styled(FormGroup)>
+ <FormLabel
+ column={false}
+ srOnly={false}
+ >
+ policy_id
+ </FormLabel>
+ <FormControl
+ defaultValue="TCA_h2NMX_v1_0_ResourceInstanceName1_tca"
+ name="policy_id"
+ onChange={[Function]}
+ type="text"
+ />
+ </Styled(FormGroup)>
+ <ModalFooter>
+ <Button
+ active={false}
+ disabled={false}
+ onClick={[Function]}
+ type="null"
+ variant="secondary"
+ >
+ Cancel
+ </Button>
+ <Button
+ active={false}
+ disabled={false}
+ onClick={[Function]}
+ type="submit"
+ variant="primary"
+ >
+ Deploy
+ </Button>
+ </ModalFooter>
+</Styled(Bootstrap(Modal))>
+`;
diff --git a/ui-react/src/components/dialogs/__snapshots__/LoopProperties.test.js.snap b/ui-react/src/components/dialogs/__snapshots__/LoopProperties.test.js.snap
new file mode 100644
index 00000000..c7e81c39
--- /dev/null
+++ b/ui-react/src/components/dialogs/__snapshots__/LoopProperties.test.js.snap
@@ -0,0 +1,59 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Verify LoopProperties Test the render method 1`] = `
+<Styled(Bootstrap(Modal))
+ onHide={[Function]}
+ show={true}
+ size="lg"
+>
+ <ModalHeader
+ closeButton={true}
+ closeLabel="Close"
+ >
+ <ModalTitle>
+ Model Properties
+ </ModalTitle>
+ </ModalHeader>
+ <ModalBody>
+ <Form
+ inline={false}
+ >
+ <FormGroup>
+ <FormLabel
+ column={false}
+ srOnly={false}
+ >
+ Deploy Parameters
+ </FormLabel>
+ <FormControl
+ as="textarea"
+ defaultValue="{\\"location_id\\":\\"\\",\\"policy_id\\":\\"TCA_h2NMX_v1_0_ResourceInstanceName1_tca\\"}"
+ name="dcaeDeployParameters"
+ onChange={[Function]}
+ rows="3"
+ />
+ </FormGroup>
+ </Form>
+ </ModalBody>
+ <ModalFooter>
+ <Button
+ active={false}
+ disabled={false}
+ onClick={[Function]}
+ type="null"
+ variant="secondary"
+ >
+ Cancel
+ </Button>
+ <Button
+ active={false}
+ disabled={false}
+ onClick={[Function]}
+ type="submit"
+ variant="primary"
+ >
+ Save Changes
+ </Button>
+ </ModalFooter>
+</Styled(Bootstrap(Modal))>
+`;
diff --git a/ui-react/src/components/dialogs/__snapshots__/UserInfo.test.js.snap b/ui-react/src/components/dialogs/__snapshots__/UserInfo.test.js.snap
new file mode 100644
index 00000000..1ae567a2
--- /dev/null
+++ b/ui-react/src/components/dialogs/__snapshots__/UserInfo.test.js.snap
@@ -0,0 +1,137 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Verify UserInfo Test the render method full permission 1`] = `
+<Styled(Bootstrap(Modal))
+ onHide={[Function]}
+ show={true}
+ size="lg"
+>
+ <ModalHeader
+ closeButton={true}
+ closeLabel="Close"
+ >
+ <ModalTitle>
+ User Info
+ </ModalTitle>
+ </ModalHeader>
+ <ModalBody>
+ <FormGroup
+ as={
+ Object {
+ "$$typeof": Symbol(react.forward_ref),
+ "defaultProps": Object {
+ "noGutters": false,
+ },
+ "render": [Function],
+ }
+ }
+ controlId="userName"
+ >
+ <FormLabel
+ column={true}
+ sm="3"
+ srOnly={false}
+ >
+ Current User:
+ </FormLabel>
+ <Col>
+ <FormControl
+ defaultValue="test"
+ plaintext={true}
+ readOnly={true}
+ />
+ </Col>
+ </FormGroup>
+ <FormGroup
+ as={
+ Object {
+ "$$typeof": Symbol(react.forward_ref),
+ "defaultProps": Object {
+ "noGutters": false,
+ },
+ "render": [Function],
+ }
+ }
+ controlId="cldsVersion"
+ >
+ <FormLabel
+ column={true}
+ sm="3"
+ srOnly={false}
+ >
+ CLDS Version:
+ </FormLabel>
+ <Col>
+ <FormControl
+ defaultValue="1.0.0"
+ plaintext={true}
+ readOnly={true}
+ />
+ </Col>
+ </FormGroup>
+ <FormGroup
+ as={
+ Object {
+ "$$typeof": Symbol(react.forward_ref),
+ "defaultProps": Object {
+ "noGutters": false,
+ },
+ "render": [Function],
+ }
+ }
+ controlId="userPermissions"
+ >
+ <FormLabel
+ column={true}
+ sm="3"
+ srOnly={false}
+ >
+ User Permissions:
+ </FormLabel>
+ <Col>
+ <FormControl
+ defaultValue="Read Template"
+ plaintext={true}
+ readOnly={true}
+ />
+ <FormControl
+ defaultValue="Read Model"
+ plaintext={true}
+ readOnly={true}
+ />
+ <FormControl
+ defaultValue="Read Tosca"
+ plaintext={true}
+ readOnly={true}
+ />
+ <FormControl
+ defaultValue="Edit Template"
+ plaintext={true}
+ readOnly={true}
+ />
+ <FormControl
+ defaultValue="Edit Model"
+ plaintext={true}
+ readOnly={true}
+ />
+ <FormControl
+ defaultValue="Edit Tosca"
+ plaintext={true}
+ readOnly={true}
+ />
+ </Col>
+ </FormGroup>
+ </ModalBody>
+ <ModalFooter>
+ <Button
+ active={false}
+ disabled={false}
+ onClick={[Function]}
+ type="null"
+ variant="secondary"
+ >
+ Cancel
+ </Button>
+ </ModalFooter>
+</Styled(Bootstrap(Modal))>
+`;