2 * # ============LICENSE_START=======================================================
3 * # Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
4 * # ================================================================================
5 * # Licensed under the Apache License, Version 2.0 (the "License");
6 * # you may not use this file except in compliance with the License.
7 * # You may obtain a copy of the License at
9 * # http://www.apache.org/licenses/LICENSE-2.0
11 * # Unless required by applicable law or agreed to in writing, software
12 * # distributed under the License is distributed on an "AS IS" BASIS,
13 * # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * # See the License for the specific language governing permissions and
15 * # limitations under the License.
16 * # ============LICENSE_END=========================================================
19 import { HttpClientTestingModule } from '@angular/common/http/testing';
20 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
21 import { FormsModule, ReactiveFormsModule } from '@angular/forms';
22 import { MatMenuModule } from '@angular/material';
23 import { RouterTestingModule } from '@angular/router/testing';
24 import { JwtHelperService, JWT_OPTIONS } from '@auth0/angular-jwt';
25 import { Ng4LoadingSpinnerModule } from 'ng4-loading-spinner';
26 import { MessageService } from 'primeng/api';
27 import { ButtonModule } from 'primeng/button';
28 import { CalendarModule } from 'primeng/calendar';
29 import { DialogModule } from 'primeng/dialog';
30 import { DropdownModule } from 'primeng/dropdown';
31 import { ScrollPanelModule } from 'primeng/scrollpanel';
32 import { TableModule } from 'primeng/table';
33 import { ToastModule } from 'primeng/toast';
34 import { MsAddChangeComponent } from '../ms-add-change/ms-add-change.component';
35 import { MsInstanceAddComponent } from '../ms-instance-add/ms-instance-add.component';
37 import { MicroservicesComponent } from './microservices.component';
39 describe('MicroservicesComponent', () => {
40 let component: MicroservicesComponent;
41 let fixture: ComponentFixture<MicroservicesComponent>;
43 beforeEach(async(() => {
44 TestBed.configureTestingModule({
46 MicroservicesComponent,
48 MsInstanceAddComponent,
51 Ng4LoadingSpinnerModule,
62 HttpClientTestingModule,
68 { provide: JWT_OPTIONS, useValue: JWT_OPTIONS },
76 fixture = TestBed.createComponent(MicroservicesComponent);
77 component = fixture.componentInstance;
78 fixture.detectChanges();
81 it('should create', () => {
82 expect(component).toBeTruthy();
85 it(`should fill msInstances Object`, () => {
86 const fixture = TestBed.createComponent(MicroservicesComponent);
87 const app = fixture.debugElement.componentInstance;
89 let mockMicroservice = [{
93 serviceName: 'testServiceName',
95 location: 'TestLocation',
96 namespace: 'testNameSpace',
100 createdOn: '01-01-2020 12:00',
102 updatedOn: '01-01-2020 12:00',
109 app.fillTable(mockMicroservice)
111 expect(app.loadTable).toEqual(true);
112 expect(app.msElements.length).toEqual(1);
115 it(`should set addOrChange to "Add"`, () => {
116 const fixture = TestBed.createComponent(MicroservicesComponent);
117 const app = fixture.debugElement.componentInstance;
119 let mockRowData = null
120 app.showAddChangeDialog(mockRowData)
122 expect(app.addOrChange).toEqual('Add');
125 it(`should set addOrChange to "Change"`, () => {
126 const fixture = TestBed.createComponent(MicroservicesComponent);
127 const app = fixture.debugElement.componentInstance;
129 let mockRowData = {field: 'test'}
130 app.showAddChangeDialog(mockRowData)
132 expect(app.addOrChange).toEqual('Change');