X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fpolicy%2Fpolicy-control.component.spec.ts;h=05f95db32d18f437f206eba2ff94d0e5158e78f4;hb=ed28c0e76d25e8e8d83d83228b92a5ec2276c271;hp=3cd2601d414a186dffe52a5fc322d8e5ef6631da;hpb=44b8c1c44248550475dd7e1977f600180c0ca4f3;p=portal%2Fnonrtric-controlpanel.git 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 3cd2601..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,46 +19,37 @@ */ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; -import { MatDialog } from "@angular/material/dialog"; +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 { NotificationService } from "@services/ui/notification.service"; import { PolicyControlComponent } from "./policy-control.component"; -import { PolicyTypeDataSource } from "@policy/policy-type/policy-type.datasource"; -import { UiService } from "@services/ui/ui.service"; -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; let fixture: ComponentFixture; beforeEach(async(() => { - const policyTypeDataSourceSpy = jasmine.createSpyObj( - "PolicyTypeDataSource", - ["connect", "getPolicyTypes", "disconnect"] - ); - var policyTypeSchema = {} as PolicyTypeSchema; - policyTypeSchema.name = ""; - policyTypeSchema.schemaObject = ""; - policyTypeDataSourceSpy.connect.and.returnValue(of([policyTypeSchema])); - policyTypeDataSourceSpy.disconnect(); - - let matDialogStub: Partial; - let notificationServiceStub: Partial; + const policyServiceSpy = jasmine.createSpyObj("PolicyService", [ + "getPolicyTypes", + ]); + 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], - providers: [ - { provide: PolicyTypeDataSource, useValue: policyTypeDataSourceSpy }, - { provide: MatDialog, useValue: matDialogStub }, - { provide: NotificationService, useValue: notificationServiceStub }, - UiService, + declarations: [ + PolicyControlComponent, + MockComponent(PolicyTypeComponent), ], + providers: [{ provide: PolicyService, useValue: policyServiceSpy }], }).compileComponents(); })); @@ -71,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"); + }); });