1 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
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';
14 describe('PilotPageComponent', () => {
15 let component: DefinitionComponent;
16 let fixture: ComponentFixture<DefinitionComponent>;
18 let _definitionService:DefinitionService;
20 beforeEach(async(() => {
21 TestBed.configureTestingModule({
22 schemas:[CUSTOM_ELEMENTS_SCHEMA],
23 declarations: [ DefinitionComponent ],
26 HttpClientTestingModule,
34 fixture = TestBed.createComponent(DefinitionComponent);
35 component = fixture.componentInstance;
36 fixture.detectChanges();
37 _definitionService=TestBed.get(DefinitionService)
40 it('should create', () => {
41 expect(component).toBeTruthy();
44 it('should test ngOnInit method',()=>{
46 expect(component.isEdit).toBe(true);
47 expect(component.showDialog).toBe(false);
48 expect(component.showSpinner).toBe(true);
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();
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);
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);
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();
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);
115 expect(component.finalPostObj["dashboardLayoutJSON"]).toEqual(JSON.stringify(component.dashboardObj));
116 expect(component.finalPostObj["dashboardLayoutHTML"]).toEqual(component.dashboardLayoutHTML);
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);
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);
149 it('should test close method',()=>{
150 component.showDialog=true;
152 expect(component.showDialog).toEqual(false);
153 expect(component.closable).toEqual(false);
156 it('should test onTransferDashboardObj method',()=>{
157 expect(component.onTransferDashboardObj('value')).toBeUndefined();