test cases in run-report-form-fields compo 67/106867/2
authorIndrijeet kumar <indriku1@in.ibm.com>
Thu, 30 Apr 2020 02:25:29 +0000 (07:55 +0530)
committerIndrijeet Kumar <indriku1@in.ibm.com>
Thu, 30 Apr 2020 03:04:54 +0000 (03:04 +0000)
test cases in run-report-form-fields component

Issue-ID: PORTAL-813
Change-Id: I9e1d89be39c4d8583bb44117158437dcb1fe1711
Signed-off-by: Indrijeet Kumar <indriku1@in.ibm.com>
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-form-fields/run-report-form-fields.component.spec.ts

index 54df7d8..0e1d326 100644 (file)
@@ -1,40 +1,49 @@
 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
 import {FormsModule} from '@angular/forms';
 import { RunReportFormFieldsComponent } from './run-report-form-fields.component';
-import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
+import { CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
 import {MatDatepickerModule} from '@angular/material/datepicker'; 
 import { HttpClientTestingModule } from '@angular/common/http/testing';
 import { RouterTestingModule } from '@angular/router/testing';
 import { RunService } from '../run.service';
 import { Observable } from 'rxjs/Observable';
 import 'rxjs/add/observable/of';
-import { of } from 'rxjs';
+import { ActivatedRoute } from '@angular/router';
 
 describe('RunReportFormFieldsComponent', () => {
   let component: RunReportFormFieldsComponent;
   let fixture: ComponentFixture<RunReportFormFieldsComponent>;
   let formfield =[{"validationType":1},{},{}] ;
   let runService: RunService;
+  let activatedRoute:ActivatedRoute;
   let environment = [
     {
       baseUrl: 'just for testing'
     }
   ];
+  var responseDefPage={
+                       "reportName":"reportName",
+                      "reportType":"reportType",
+                        }
+    
   var responseFormFieldGroups={"formFieldGroupsJSON":'{"Indrijeet":"kumar"}'};
   var respObj={"formFieldList":{"value1":"value1"}};
 
   beforeEach(async(() => {
     TestBed.configureTestingModule({
       schemas: [CUSTOM_ELEMENTS_SCHEMA],
-      imports: [FormsModule, MatDatepickerModule, HttpClientTestingModule, RouterTestingModule],
+      imports: [
+                FormsModule, 
+                MatDatepickerModule, 
+                HttpClientTestingModule, 
+                RouterTestingModule
+              ],
       declarations: [ RunReportFormFieldsComponent ],
       providers: [RunService]
     })
     .compileComponents();
     runService = TestBed.get(RunService);
-     spyOn(runService, 'getDefinitionPageDetails').and.returnValue(Observable.of(environment));
-     spyOn(runService, 'refreshFormFields').and.returnValue(Observable.of(environment));
-     
+     spyOn(runService, 'refreshFormFields').and.returnValue(Observable.of(environment));   
   }));
 
   beforeEach(() => {
@@ -42,12 +51,76 @@ describe('RunReportFormFieldsComponent', () => {
     component = fixture.componentInstance;
      component.formFieldList = formfield;
     fixture.detectChanges();
+    activatedRoute=TestBed.get(ActivatedRoute);
   });
 
   it('should create', () => {
     expect(component).toBeTruthy();
   });
 
+  describe('should test subscribe method in ngOnInit method',()=>{
+  it('should test first if condition inside the subscribe',()=>{
+    component.reportId="reportId";
+    component.calledWithFormFields=false;
+    var response={"errormessage":true};
+    spyOn(runService,'getDefinitionPageDetails').and.returnValue(Observable.of(responseDefPage));
+    spyOn(runService,'getReportData').and.returnValue(Observable.of(response));
+    component.ngOnInit();
+  })
+  it('should test first if inside first if condition inside the subscribe',()=>{
+    component.reportId="reportId";
+    component.calledWithFormFields=false;
+    var response={"errormessage":false,
+                  "reportName":"reportName",
+                  "formFieldList":"formFieldList"
+                }
+    spyOn(runService,'getDefinitionPageDetails').and.returnValue(Observable.of(responseDefPage));
+    spyOn(runService,'getReportData').and.returnValue(Observable.of(response));
+    component.ngOnInit();
+  })
+
+  it('should test else part line 101',()=>{
+    component.reportId="reportId";
+    component.calledWithFormFields=false;
+    var response={"errormessage":false,"reportName":"reportName","formFieldList":""}
+    spyOn(runService,'getDefinitionPageDetails').and.returnValue(Observable.of(responseDefPage));
+    spyOn(runService,'getReportData').and.returnValue(Observable.of(response));
+    component.ngOnInit();
+  })
+
+  it('should test the else part line 111',()=>{
+    component.reportId="reportId";
+    component.calledWithFormFields=true;
+    spyOn(runService,'getDefinitionPageDetails').and.returnValue(Observable.of(responseDefPage));
+    component.ngOnInit();
+  })
+
+ describe('should test the else part under subscribe in ngOnInit method',()=>{
+
+  it('should test the else part 142',()=>{
+    component.reportId="reportId";
+    var response={"errormessage":false,"formFieldList":"formFieldList"};
+    var responseDefPage={
+      "reportName":"reportName",
+      "reportType":"Dashboard",
+      "dashboardLayoutJSON":'{"data":"dat"}',
+      "formFieldList":""
+    };
+    spyOn(runService,'getDefinitionPageDetails').and.returnValue(Observable.of(responseDefPage));
+    spyOn(runService,'getReportData').and.returnValue(Observable.of(response));
+    component.ngOnInit();
+  })
+})
+
+})
+  
+  it('should test ngOnInit method', () => {
+        spyOn(component, 'ngOnInit').and.callThrough();
+        component.ngOnInit();
+        expect(component.ngOnInit).toHaveBeenCalled();
+  });
+
   it('should test convertDate method', () => {
       component.convertDate("test");
   });
@@ -120,11 +193,6 @@ describe('RunReportFormFieldsComponent', () => {
       component.generateQueryString();
    })     
 
-   it('should test ngOnInit method', () => {
-    spyOn(component, 'ngOnInit').and.callThrough();
-        component.ngOnInit();
-        expect(component.ngOnInit).toHaveBeenCalled();
-  });
 
   it('should test fetchAndPopulateFormFields method', () => {
     component.formFieldGroupObjList=[{"formFieldList":"formFieldList"}]