Fix mod ui build issues
[dcaegen2/platform.git] / mod2 / ui / src / app / msInstances / msInstances.component.spec.ts
1 /* 
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
8  *  #
9  *  #      http://www.apache.org/licenses/LICENSE-2.0
10  *  #
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=========================================================
17  */
18
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, MatTooltipModule } 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 { CompSpecAddComponent } from '../comp-spec-add/comp-spec-add.component';
35 import { MsInstanceAddComponent } from '../ms-instance-add/ms-instance-add.component';
36
37 import { MsInstancesComponent } from './msInstances.component';
38
39 describe('MsInstancesComponent', () => {
40   let component: MsInstancesComponent;
41   let fixture: ComponentFixture<MsInstancesComponent>;
42
43   beforeEach(async(() => {
44     TestBed.configureTestingModule({
45       declarations: [
46         MsInstancesComponent,
47         CompSpecAddComponent,
48         MsInstanceAddComponent
49       ],
50       imports: [
51         Ng4LoadingSpinnerModule,
52         TableModule,
53         MatMenuModule,
54         ScrollPanelModule,
55         ToastModule,
56         DialogModule,
57         DropdownModule,
58         FormsModule,
59         ReactiveFormsModule,
60         ButtonModule,
61         CalendarModule,
62         HttpClientTestingModule,
63         ToastModule,
64         RouterTestingModule,
65         MatTooltipModule
66       ],
67       providers: [
68         MessageService,
69         { provide: JWT_OPTIONS, useValue: JWT_OPTIONS },
70         JwtHelperService
71       ]
72     })
73       .compileComponents();
74   }));
75
76   beforeEach(() => {
77     fixture = TestBed.createComponent(MsInstancesComponent);
78     component = fixture.componentInstance;
79     fixture.detectChanges();
80   });
81
82   it('should create', () => {
83     expect(component).toBeTruthy();
84   });
85
86   it(`should fill msInstances Object`, () => {
87     const fixture = TestBed.createComponent(MsInstancesComponent);
88     const app = fixture.debugElement.componentInstance;
89
90     let mockMsInstance = [{
91       id: 'testId1234',
92       name: 'test-MS',
93       release: '2008',
94       version: '1.0.0',
95       status: 'New',
96       msInfo: {
97         id: 'testBaseMsId1234',
98         name: 'test Base Ms',
99         tag: 'test-MS-tag',
100       },
101       metadata: {
102         scrumLead: 'test',
103         scrumLeadId: 'testId',
104         systemsEngineer: 'test',
105         systemsEngineerId: 'testId',
106         developer: 'test',
107         developerId: 'testId',
108         pstDueDate: '01-01-2020 12:00',
109         pstDueIteration: '1.1',
110         eteDueDate: '01-01-2020 12:00',
111         eteDueIteration: '1.1',
112         createdBy: 'test',
113         createdOn: '01-01-2020 12:00',
114         updatedBy: 'test',
115         updatedOn: '01-01-2020 12:00',
116         notes: 'test',
117         labels: ['test'],
118       },
119       activeSpec: 'test'
120     }]
121
122     app.fillTable(mockMsInstance)
123
124     expect(app.loadTable).toEqual(true);
125     expect(app.msInstances.length).toEqual(1);
126   });
127 });