summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.spec.ts
diff options
context:
space:
mode:
authorimamSidero <imam.hussain@est.tech>2022-06-10 22:08:39 +0530
committerMichael Morris <michael.morris@est.tech>2022-09-16 10:32:03 +0000
commit2fe3d879319a34e9802d0bc172fa11fefe771df3 (patch)
tree797f1d7c674b84c5f058bcb586e935c05f28396f /catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.spec.ts
parent634f561c91c07180417643bd7aceaaef6599d588 (diff)
Add unit test cases for UI components
Unit test cases are added for app.component, utils, entity-filter.pipe from pipes and headers-interceptor from http-interceptor Signed-off-by: imam.hussain <imam.hussain@est.tech> Issue-ID: SDC-4066 Change-Id: Iccc66f6b255ea790d6c58061d5129e4804a04457
Diffstat (limited to 'catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.spec.ts')
-rw-r--r--catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.spec.ts104
1 files changed, 104 insertions, 0 deletions
diff --git a/catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.spec.ts b/catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.spec.ts
new file mode 100644
index 0000000000..570ff38174
--- /dev/null
+++ b/catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.spec.ts
@@ -0,0 +1,104 @@
+/*
+* ============LICENSE_START=======================================================
+* SDC
+* ================================================================================
+* Copyright (C) 2022 Nordix Foundation. 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.
+*
+* SPDX-License-Identifier: Apache-2.0
+* ============LICENSE_END=========================================================
+*/
+
+import { async, TestBed } from "@angular/core/testing";
+import { ConfigureFn, configureTests } from "../../../jest/test-config.helper";
+import { NO_ERRORS_SCHEMA } from "@angular/core";
+import { HeadersInterceptor } from './headers-interceptor';
+import { SdcConfigToken } from "../config/sdc-config.config";
+import { Injector } from '@angular/core';
+import { of } from 'rxjs';
+import { TranslateService } from '../shared/translator/translate.service';
+import { Cookie2Service } from '../services/cookie.service';
+import { HttpHelperService } from '../services/http-hepler.service';
+import { HttpErrorResponse, HttpEvent, HttpResponse, HttpRequest } from '@angular/common/http';
+import { ModelService } from "../services/model.service";
+
+describe('HeadersInterceptor service', () => {
+
+ let headerService: HeadersInterceptor;
+ let cookieServiceMock: Partial<Cookie2Service>;
+ let httpServiceMock: Partial<HttpHelperService>;
+
+ beforeEach(
+ async(() => {
+ cookieServiceMock = {
+ getCookieByName: jest.fn(),
+ getUserIdSuffix: jest.fn().mockImplementation(() => 'urlSuffix'),
+ getUserId: jest.fn().mockImplementation(() => '009'),
+ getFirstName: jest.fn().mockImplementation(() => 'First Name'),
+ getLastName: jest.fn().mockImplementation(() => 'Last Name'),
+ getEmail: jest.fn().mockImplementation(() => 'names@test.com'),
+ };
+ httpServiceMock = {
+ getUuidValue: jest.fn().mockImplementation(() => '001'),
+ replaceUrlParams: jest.fn(),
+ getHeaderMd5: jest.fn()
+ };
+
+ const configure: ConfigureFn = testBed => {
+ testBed.configureTestingModule({
+ declarations: [],
+ imports: [],
+ schemas: [NO_ERRORS_SCHEMA],
+ providers: [HeadersInterceptor,
+ { provide: SdcConfigToken },
+ { provide: Injector },
+ { provide: Cookie2Service, useValue: cookieServiceMock },
+ { provide: HttpHelperService, useValue: httpServiceMock },
+ { provide: TranslateService },
+ { provide: ModelService }
+ ],
+ });
+ };
+ configureTests(configure).then(testBed => {
+ headerService = TestBed.get(HeadersInterceptor);
+ });
+ })
+ );
+
+ it('HeadersInterceptor should be created', () => {
+ expect(headerService).toBeTruthy();
+ });
+
+ it('should set correct request headers', done => {
+ const mockHandler = {
+ handle: jest.fn(() => of(
+ new HttpResponse({ status: 200 })))
+ };
+ of(headerService.intercept(new HttpRequest<any>('GET', '/test'), mockHandler)).subscribe(response => {
+ expect(response).toBeTruthy();
+ done();
+ });
+ });
+
+ it('should throw 500 error with correct message', done => {
+ const mockHandler = {
+ handle: jest.fn(() => of(
+ new HttpErrorResponse({ status: 500, error: 'This is a error' })))
+ };
+ of(headerService.intercept(new HttpRequest<any>('GET', '/test'), mockHandler)).subscribe(error => {
+ expect(error.source.value.name).toBe('HttpErrorResponse');
+ expect(error.source.value.status).toBe(500);
+ done();
+ });
+ });
+});