From 4e4cb3f185fd507708266621227326fdce816a47 Mon Sep 17 00:00:00 2001 From: elinuxhenrik Date: Tue, 30 Mar 2021 14:14:15 +0200 Subject: [PATCH] Add test coverage of PolicyControlComponent Change-Id: If18ad9d26d4872c953c0e410dd1f576a33a5c306 Issue-ID: NONRTRIC-390 Signed-off-by: elinuxhenrik --- .../app/policy/policy-control.component.spec.ts | 26 +++++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/webapp-frontend/src/app/policy/policy-control.component.spec.ts b/webapp-frontend/src/app/policy/policy-control.component.spec.ts index 92b3bbc..05f95db 100644 --- a/webapp-frontend/src/app/policy/policy-control.component.spec.ts +++ b/webapp-frontend/src/app/policy/policy-control.component.spec.ts @@ -19,14 +19,17 @@ */ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; +import { By } from "@angular/platform-browser"; import { MatIconModule } from "@angular/material/icon"; import { MatTableModule } from "@angular/material/table"; import { CUSTOM_ELEMENTS_SCHEMA } from "@angular/core"; import { of } from "rxjs"; import { PolicyControlComponent } from "./policy-control.component"; -import { PolicyTypeSchema } from "@interfaces/policy.types"; +import { PolicyTypes } from "@interfaces/policy.types"; import { PolicyService } from "@services/policy/policy.service"; +import { MockComponent } from "ng-mocks"; +import { PolicyTypeComponent } from "./policy-type/policy-type.component"; describe("PolicyControlComponent", () => { let component: PolicyControlComponent; @@ -36,15 +39,16 @@ describe("PolicyControlComponent", () => { const policyServiceSpy = jasmine.createSpyObj("PolicyService", [ "getPolicyTypes", ]); - var policyTypeSchema = {} as PolicyTypeSchema; - policyTypeSchema.name = ""; - policyTypeSchema.schemaObject = ""; - policyServiceSpy.getPolicyTypes.and.returnValue(of(["type1"])); + const policyTypes = { policytype_ids: ["type1", "type2"] } as PolicyTypes; + policyServiceSpy.getPolicyTypes.and.returnValue(of(policyTypes)); TestBed.configureTestingModule({ imports: [MatIconModule, MatTableModule, BrowserAnimationsModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], - declarations: [PolicyControlComponent], + declarations: [ + PolicyControlComponent, + MockComponent(PolicyTypeComponent), + ], providers: [{ provide: PolicyService, useValue: policyServiceSpy }], }).compileComponents(); })); @@ -58,4 +62,14 @@ describe("PolicyControlComponent", () => { it("should create", () => { expect(component).toBeTruthy(); }); + + it("should contain two PolicyType components instantiated with the correct type", () => { + const typeComponents: PolicyTypeComponent[] = fixture.debugElement + .queryAll(By.directive(PolicyTypeComponent)) + .map((component) => component.componentInstance); + + expect(typeComponents.length).toEqual(2); + expect(typeComponents[0].policyTypeId).toEqual("type1"); + expect(typeComponents[1].policyTypeId).toEqual("type2"); + }); }); -- 2.16.6