aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-ui/test/utils
diff options
context:
space:
mode:
authorAviZi <avi.ziv@amdocs.com>2017-06-09 02:39:56 +0300
committerAviZi <avi.ziv@amdocs.com>2017-06-09 02:39:56 +0300
commit280f8015d06af1f41a3ef12e8300801c7a5e0d54 (patch)
tree9c1d3978c04cd28068f02073038c936bb49ca9e0 /openecomp-ui/test/utils
parentfd3821dad11780d33c5373d74c957c442489945e (diff)
[SDC-29] Amdocs OnBoard 1707 initial commit.
Change-Id: Ie4d12a3f574008b792899b368a0902a8b46b5370 Signed-off-by: AviZi <avi.ziv@amdocs.com>
Diffstat (limited to 'openecomp-ui/test/utils')
-rw-r--r--openecomp-ui/test/utils/errorResponseHandler.test.js76
-rw-r--r--openecomp-ui/test/utils/restApiUtil.test.js149
-rw-r--r--openecomp-ui/test/utils/uuid.test.js33
-rw-r--r--openecomp-ui/test/utils/validator.test.js69
4 files changed, 126 insertions, 201 deletions
diff --git a/openecomp-ui/test/utils/errorResponseHandler.test.js b/openecomp-ui/test/utils/errorResponseHandler.test.js
index fd9dec6a8d..40836f728a 100644
--- a/openecomp-ui/test/utils/errorResponseHandler.test.js
+++ b/openecomp-ui/test/utils/errorResponseHandler.test.js
@@ -1,28 +1,24 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
+/*!
* 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
- *
+ *
+ * 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=========================================================
+ * 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 deepFreeze from 'deep-freeze';
-import expect from 'expect';
+
import {cloneAndSet} from '../../test-utils/Util.js';
import store from 'sdc-app/AppStore.js';
import errorResponseHandler from 'nfvo-utils/ErrorResponseHandler.js';
+import {typeEnum as modalType} from 'nfvo-components/modal/GlobalModalConstants.js';
describe('Error Response Handler Util', () => {
@@ -44,15 +40,20 @@ describe('Error Response Handler Util', () => {
};
deepFreeze(xhr);
- const errorNotification = {
- type: 'error', title: 'Error: SVC4122', msg: 'Error: Invalid data.', timeout: undefined,
- validationResponse: undefined
+ const errorNotification = {
+ title: 'Error: SVC4122',
+ msg: 'Error: Invalid data.',
+ modalClassName: 'notification-modal',
+ type: modalType.ERROR
};
- const expectedStore = cloneAndSet(store.getState(), 'notification', errorNotification);
+
+
+
+ const expectedStore = cloneAndSet(store.getState(), 'modal', errorNotification);
errorResponseHandler(xhr, textStatus, errorThrown);
- setTimeout(function () {
+ setTimeout(function () {
expect(store.getState()).toEqual(expectedStore);
done();
}, 100);
@@ -72,12 +73,15 @@ describe('Error Response Handler Util', () => {
}
};
deepFreeze(xhr);
-
- const errorNotification = {
- type: 'error', title: 'Error: SVC4122', msg: 'Error: Invalid artifact type newType.', timeout: undefined,
- validationResponse: undefined
+
+ const errorNotification = {
+ title: 'Error: SVC4122',
+ msg: 'Error: Invalid artifact type newType.',
+ modalClassName: 'notification-modal',
+ type: modalType.ERROR
};
- const expectedStore = cloneAndSet(store.getState(), 'notification', errorNotification);
+
+ const expectedStore = cloneAndSet(store.getState(), 'modal', errorNotification);
errorResponseHandler(xhr, textStatus, errorThrown);
@@ -97,11 +101,14 @@ describe('Error Response Handler Util', () => {
};
deepFreeze(xhr);
- const errorNotification = {
- type: 'error', title: 'AA', msg: 'Error: Invalid data.', timeout: undefined,
- validationResponse: undefined
+ const errorNotification = {
+ title: 'AA',
+ msg: 'Error: Invalid data.',
+ modalClassName: 'notification-modal',
+ type: modalType.ERROR
};
- const expectedStore = cloneAndSet(store.getState(), 'notification', errorNotification);
+
+ const expectedStore = cloneAndSet(store.getState(), 'modal', errorNotification);
errorResponseHandler(xhr, textStatus, errorThrown);
@@ -118,12 +125,15 @@ describe('Error Response Handler Util', () => {
responseText: 'Internal server error.'
};
deepFreeze(xhr);
-
- const errorNotification = {
- type: 'error', title: '500', msg: 'Internal server error.', timeout: undefined,
- validationResponse: undefined
+
+ const errorNotification = {
+ title: '500',
+ msg: 'Internal server error.',
+ modalClassName: 'notification-modal',
+ type: modalType.ERROR
};
- const expectedStore = cloneAndSet(store.getState(), 'notification', errorNotification);
+
+ const expectedStore = cloneAndSet(store.getState(), 'modal', errorNotification);
errorResponseHandler(xhr, textStatus, errorThrown);
diff --git a/openecomp-ui/test/utils/restApiUtil.test.js b/openecomp-ui/test/utils/restApiUtil.test.js
deleted file mode 100644
index 2a5e69b02e..0000000000
--- a/openecomp-ui/test/utils/restApiUtil.test.js
+++ /dev/null
@@ -1,149 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-import expect from 'expect';
-import $ from 'jquery';
-import RestAPIUtil, {makeQueryParams} from 'src/nfvo-utils/RestAPIUtil';
-
-const URL = 'http://bla.ble.blu/';
-
-describe('RestAPIUtil Util class', () => {
-
- beforeEach(()=> {
- $.ajax = (options) => options;
- });
-
- it('RestAPIUtil does exist', () => {
- expect(RestAPIUtil).toExist();
- });
-
- it('RestAPIUtil makeQueryParams does exist', () => {
- expect(makeQueryParams).toExist();
- });
-
- it('RestAPIUtil makeQueryParams params', () => {
- const pageStart = 1, pageSize = 25;
- const response = makeQueryParams({pagination: {pageStart, pageSize}});
- expect(response.pageStart).toBe(pageStart);
- expect(response.pageSize).toBe(pageSize);
- });
-
- it('normal basic fetch', () => {
- const response = RestAPIUtil.fetch(URL);
- expect(response).toExist();
- });
-
- it('no url', function () {
- expect(function () {
- RestAPIUtil.fetch();
- }).toThrow(/url/);
- });
-
- it('fetch with pagination', () => {
- const pageStart = 1, pageSize = 25;
- const response = RestAPIUtil.fetch(URL, {pagination: {pageStart, pageSize}});
- expect(response.pagination).toExist();
- expect(response.url).toInclude(`?pageStart=${pageStart}&pageSize=${pageSize}`);
- });
-
- it('fetch with sorting', () => {
- const sortField = 'name', sortDir = 'ASCENDING';
- const response = RestAPIUtil.fetch(URL, {sorting: {sortField, sortDir}});
- expect(response.sorting).toExist();
- expect(response.url).toInclude(`?sortField=${sortField}&sortDir=${sortDir}`);
- });
-
- it('fetch with filtering', () => {
- const baseFilter = [
- {
- criterionValue: 'service',
- fieldName: 'Brand',
- operator: 'EQUALS',
- type: 'STRING'
- },
- {
- criterionValue: 'resource',
- fieldName: 'Brand',
- operator: 'EQUALS',
- type: 'STRING'
- }
- ];
- const response = RestAPIUtil.fetch(URL, {filtering: {filterCriteria: baseFilter, logicalRelation: 'OR'}});
- expect(response.filtering).toExist();
- expect(response.url).toInclude('?filter=');
- });
-
- it('fetch with qParams', () => {
- const response = RestAPIUtil.fetch(URL, {qParams: {pageStart: 1, pageSize: 10}});
- expect(response.qParams).toExist();
- });
-
- it('fetch with url on options', () => {
- const response = RestAPIUtil.fetch(URL, {url:'12345', qParams: {pageStart: 1, pageSize: 10}});
- expect(response.qParams).toExist();
- });
-
- it('fetch with url path param', () => {
- let someData = 'data';
- const response = RestAPIUtil.fetch(`${URL}{someData}/`, {params: {someData}});
- expect(response.url).toInclude(`/${someData}/`);
- });
-
- it('fetch with url undefined path param', () => {
- const response = RestAPIUtil.fetch(`${URL}{someData}/`, {params: {someData: undefined}});
- expect(response.url).toInclude('/undefined/');
- });
-
- it('normal basic create', () => {
- const response = RestAPIUtil.create(URL);
- expect(response).toExist();
- });
-
- it('create with FormData', () => {
- let formData = new FormData();
- formData.append('username', 'Chris');
- const response = RestAPIUtil.create(URL, formData);
- expect(response).toExist();
- });
-
- it('create with FormData with md5', () => {
- let formData = new FormData();
- formData.append('username', 'Chris');
- const response = RestAPIUtil.create(URL, formData, {md5: true});
- expect(response).toExist();
- });
-
- it('create with file', () => {
- let progressCallback = () => {};
- const response = RestAPIUtil.create(URL, {}, {progressCallback, fileSize: 123});
- expect(response).toExist();
- });
-
- it('normal basic save', () => {
- const response = RestAPIUtil.save(URL);
- expect(response).toExist();
- });
-
- it('normal basic delete', () => {
- const response = RestAPIUtil.destroy(URL);
- expect(response).toExist();
- });
-
-});
diff --git a/openecomp-ui/test/utils/uuid.test.js b/openecomp-ui/test/utils/uuid.test.js
index cd55baadea..21ac2712de 100644
--- a/openecomp-ui/test/utils/uuid.test.js
+++ b/openecomp-ui/test/utils/uuid.test.js
@@ -1,50 +1,45 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
+/*!
* 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
- *
+ *
+ * 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=========================================================
+ * 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 uuid from 'src/nfvo-utils/UUID.js';
-import expect from 'expect';
+
describe('UUID', () => {
it('function does exist', () => {
- expect(uuid).toExist();
+ expect(uuid).toBeTruthy();
});
it('generate UUID synchronously', () => {
let result = uuid(undefined, true);
- expect(result).toExist();
+ expect(result).toBeTruthy();
});
it('generate UUID synchronously with number', () => {
let result = uuid(5, true);
- expect(result).toExist();
+ expect(result).toBeTruthy();
});
it('generate UUID synchronously with number', () => {
let result = uuid(1, true);
- expect(result).toExist();
+ expect(result).toBeTruthy();
});
it('generate UUID asynchronously', done => {
uuid().then(result => {
- expect(result).toExist();
+ expect(result).toBeTruthy();
done();
});
});
diff --git a/openecomp-ui/test/utils/validator.test.js b/openecomp-ui/test/utils/validator.test.js
new file mode 100644
index 0000000000..4062fa2d07
--- /dev/null
+++ b/openecomp-ui/test/utils/validator.test.js
@@ -0,0 +1,69 @@
+/*!
+ * 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 Validator from 'src/nfvo-utils/Validator.js';
+
+
+describe('Validator ', () => {
+
+ it('class does exist', () => {
+ expect(Validator).toBeTruthy();
+ });
+
+ it('returns global validation functions', () => {
+ expect(Validator.globalValidationFunctions).toBeTruthy();
+ });
+
+ it('returns global validation messages', () => {
+ expect(Validator.globalValidationMessagingFunctions).toBeTruthy();
+ });
+
+ it('validates data per specific types list', () => {
+ const types = ['required', 'maxLength', 'minLength', 'pattern', 'numeric', 'maximum', 'minimum',
+ 'alphanumeric', 'alphanumericWithSpaces', 'validateName', 'validateVendorName', 'freeEnglishText', 'email', 'ip', 'url', 'maximumExclusive', 'minimumExclusive'];
+
+ for (let i = 0; i < types.length; i++) {
+ expect(Validator.globalValidationFunctions[types[i]]).toBeTruthy();
+ }
+ });
+
+ it('gives validation messages per specific types list', () => {
+ const types = ['required', 'maxLength', 'minLength', 'pattern', 'numeric', 'maximum', 'minimum',
+ 'alphanumeric', 'alphanumericWithSpaces', 'validateName', 'validateVendorName', 'freeEnglishText', 'email', 'ip', 'url', 'maximumExclusive', 'minimumExclusive'];
+
+ for (let i = 0; i < types.length; i++) {
+ expect(Validator.globalValidationFunctions[types[i]]).toBeTruthy();
+ }
+ });
+
+ it('returns a validation response of {isValid, errorText} when validating only by validator.js', () => {
+ const result = Validator.validateItem('a', null, 'required');
+ const keys = Object.keys(result);
+ expect(keys.length).toBe(2);
+ expect(keys).toContain('isValid');
+ expect(keys).toContain('errorText');
+ });
+
+ it('returns a validation response of {isValid, errorText} when validating with custom functions', () => {
+ const errorText = 'ran custom validation';
+ const result = Validator.validate('myfield','a', [{type: 'required', data: null}], {}, { 'myfield' : () => { return { isValid: false, errorText};} });
+ const keys = Object.keys(result);
+ expect(keys.length).toBe(2);
+ expect(keys).toContain('isValid');
+ expect(keys).toContain('errorText');
+ expect(result.errorText).toBe(errorText);
+ });
+
+});