aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-ui/test/utils/restApiUtil.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-ui/test/utils/restApiUtil.test.js')
-rw-r--r--openecomp-ui/test/utils/restApiUtil.test.js149
1 files changed, 149 insertions, 0 deletions
diff --git a/openecomp-ui/test/utils/restApiUtil.test.js b/openecomp-ui/test/utils/restApiUtil.test.js
new file mode 100644
index 0000000000..2a5e69b02e
--- /dev/null
+++ b/openecomp-ui/test/utils/restApiUtil.test.js
@@ -0,0 +1,149 @@
+/*-
+ * ============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();
+ });
+
+});