762d780f205ac7899ff5e7a4c612c72291ab5b05
[portal/sdk.git] /
1 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2
3 import { DefinitionComponent } from './definition.component';
4 import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
5 import { HttpClientTestingModule } from '@angular/common/http/testing';
6 import { FormsModule } from '@angular/forms';
7 import { RouterTestingModule } from '@angular/router/testing';
8 import { CommonModule } from '@angular/common';
9 import { Http } from '@angular/http';
10 import 'rxjs/add/observable/of';
11 import { Observable } from 'rxjs/Observable';
12 import { DefinitionService } from './definition.service';
13
14 describe('PilotPageComponent', () => {
15   let component: DefinitionComponent;
16   let fixture: ComponentFixture<DefinitionComponent>;
17   let _http:Http;
18   let _definitionService:DefinitionService;
19
20   beforeEach(async(() => {
21     TestBed.configureTestingModule({
22       schemas:[CUSTOM_ELEMENTS_SCHEMA],
23       declarations: [ DefinitionComponent ],
24       imports:[
25         FormsModule,
26         HttpClientTestingModule,
27         RouterTestingModule
28       ],
29     })
30     .compileComponents();
31   }));
32
33   beforeEach(() => {
34     fixture = TestBed.createComponent(DefinitionComponent);
35     component = fixture.componentInstance;
36     fixture.detectChanges();
37     _definitionService=TestBed.get(DefinitionService)
38   });
39
40   it('should create', () => {
41     expect(component).toBeTruthy();
42   });
43
44   it('should test ngOnInit method',()=>{
45     component.ngOnInit();
46     expect(component.isEdit).toBe(true);
47     expect(component.showDialog).toBe(false);
48     expect(component.showSpinner).toBe(true);
49   });
50
51   // it('should test first if condition inside ngOnInit method',()=>{
52   //   component.IncomingReportId =-1;
53   //   component.reportMode = "Create";
54   //   let spy=spyOn(_definitionService,'getDefinitionPageDetails').and.returnValue(Observable.of(""));
55   //   component.ngOnInit();
56   //   expect(spy).toHaveBeenCalled();
57   // })
58
59   it('should test first if condition in saveDefinitionInfo method',()=>{
60     component.IncomingReportId=-1;
61     component.reportMode="Create";
62     component.allowScheduler=true;
63     component.sizedByContent = true;
64     component.saveDefinitionInfo();
65     expect(component.finalPostObj["tabName"]).toEqual("Definition");
66     expect(component.finalPostObj["tabId"]).toEqual("Def");
67     expect(component.finalPostObj["reportId"]).toEqual(component.reportId);
68     expect(component.finalPostObj["reportName"]).toEqual(component.reportName);
69     expect(component.finalPostObj["reportDescr"]).toEqual(component.reportDescription);
70     expect(component.finalPostObj["reportType"]).toEqual(component.reportType);
71     expect(component.finalPostObj["reportTypeList"]).toEqual(null);
72     expect(component.finalPostObj["dbInfo"]).toEqual(component.dataSrc);
73     expect(component.finalPostObj["formHelpText"]).toEqual(component.helpText);
74     expect(component.finalPostObj["pageSize"]).toEqual(component.pageSize);
75    
76     //expect(component.finalPostObj[""]).toEqual(component.);
77     expect(component.finalPostObj["hideFormFieldsAfterRun"]).toEqual(component.hideFormFields1);
78     expect(component.finalPostObj["maxRowsInExcelCSVDownload"]).toEqual(component.maxRows);
79     expect(component.finalPostObj["frozenColumns"]).toEqual(component.colsFrozen);
80     expect(component.finalPostObj["dataGridAlign"]).toEqual(component.gridAlign);
81     expect(component.finalPostObj["emptyMessage"]).toEqual(component.emptyMessage);
82     expect(component.finalPostObj["dataContainerHeight"]).toEqual(component.heightContainer);
83     expect(component.finalPostObj["dataContainerWidth"]).toEqual(component.widthContainer);
84     expect(component.finalPostObj["runtimeColSortDisabled"]).toEqual(component.disableColumnSort);
85     expect(component.finalPostObj["numFormCols"]).toEqual(component.runTimeFormNum);
86     expect(component.finalPostObj["reportTitle"]).toEqual(component.reportTitle);
87     expect(component.finalPostObj["reportSubTitle"]).toEqual(component.reportSubTitle);
88     expect(component.finalPostObj["oneTimeRec"]).toEqual(component.oneTime);
89     expect(component.finalPostObj["hourlyRec"]).toEqual(component.hourly);
90     expect(component.finalPostObj["dailyRec"]).toEqual(component.daily);
91     expect(component.finalPostObj["dailyMFRec"]).toEqual(component.MonFri);
92     expect(component.finalPostObj["weeklyRec"]).toEqual(component.Weekly);
93     expect(component.finalPostObj["monthlyRec"]).toEqual(component.Monthly);
94     expect(component.finalPostObj["allowScheduler"]).toEqual("Y");
95     expect(component.finalPostObj["sizedByContent"]).toEqual("Y");
96     expect(component.finalPostObj["repDefType"]).toEqual(component.reportDefinition);
97
98   })
99
100   it('should test second if condition in saveDefinitionInfo method',()=>{
101     component.IncomingReportId=1;
102     component.reportMode="Edit";
103     component.allowScheduler=true;
104     component.sizedByContent = true;
105     component.reportType="Dashboard";
106     component.saveDefinitionInfo();
107     
108     expect(component.finalPostObj["tabName"]).toEqual("Definition");
109     expect(component.finalPostObj["tabId"]).toEqual("Def");
110     expect(component.finalPostObj["reportId"]).toEqual(component.reportId);
111     expect(component.finalPostObj["reportName"]).toEqual(component.reportName);
112     expect(component.finalPostObj["reportDescr"]).toEqual(component.reportDescription);
113     expect(component.finalPostObj["reportType"]).toEqual(component.reportType);
114   
115     expect(component.finalPostObj["dashboardLayoutJSON"]).toEqual(JSON.stringify(component.dashboardObj));
116     expect(component.finalPostObj["dashboardLayoutHTML"]).toEqual(component.dashboardLayoutHTML);
117
118   })
119
120    
121
122   it('should test else condition inside second if condition in saveDefinitionInfo method',()=>{
123     component.IncomingReportId=1;
124     component.reportMode="Edit";
125     component.reportType!="dashboard";
126     component.saveDefinitionInfo();
127     expect(component.finalPostObj["reportTypeList"]).toEqual(null);
128     expect(component.finalPostObj["dbInfo"]).toEqual(component.dataSrc);
129     expect(component.finalPostObj["formHekpText"]).toEqual(component.helpText);
130     expect(component.finalPostObj["pageSize"]).toEqual(component.pageSize);
131   })
132   
133   it('should test subscribe in second if condition present inside saveDefinitionnInfo method',()=>{
134     component.IncomingReportId=1;
135     component.reportMode="Edit";
136     component.showDialog=true;
137     let spy=spyOn(_definitionService,'portDefinitionPageDetails').and.returnValue(Observable.of(''))
138     component.saveDefinitionInfo();
139     expect(spy).toHaveBeenCalled()
140     expect(component.status).toEqual("Failure!");
141     expect(component.message).toEqual("Definition could not be updated.");
142     expect(component.showDialog).toBe(false);
143     expect(component.closable).toBe(true);
144
145   })
146
147
148
149   it('should test close method',()=>{
150     component.showDialog=true;
151     component.close();
152     expect(component.showDialog).toEqual(false);
153     expect(component.closable).toEqual(false);
154   })
155
156   it('should test onTransferDashboardObj method',()=>{
157     expect(component.onTransferDashboardObj('value')).toBeUndefined();
158   })
159 });