X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fui%2Fconfirm-dialog%2Fconfirm-dialog.component.spec.ts;fp=webapp-frontend%2Fsrc%2Fapp%2Fui%2Fconfirm-dialog%2Fconfirm-dialog.component.spec.ts;h=3f4fecf51d7bc46f719b08b481604dd16afbec46;hb=76bf355447e6bb041dd52edceeffeff272acae38;hp=ef0e92f5cbcef63169c9c663dafc996fe38e7045;hpb=eb4892585eac42745b0393cc1a27205b1d32fc36;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-frontend/src/app/ui/confirm-dialog/confirm-dialog.component.spec.ts b/webapp-frontend/src/app/ui/confirm-dialog/confirm-dialog.component.spec.ts index ef0e92f..3f4fecf 100644 --- a/webapp-frontend/src/app/ui/confirm-dialog/confirm-dialog.component.spec.ts +++ b/webapp-frontend/src/app/ui/confirm-dialog/confirm-dialog.component.spec.ts @@ -18,35 +18,82 @@ * ========================LICENSE_END=================================== */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, TestBed } from "@angular/core/testing"; -import { ConfirmDialogComponent } from './confirm-dialog.component'; -import { MatDialogModule } from '@angular/material/dialog'; -import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { ConfirmDialogComponent } from "./confirm-dialog.component"; +import { MatDialogModule } from "@angular/material/dialog"; +import { MAT_DIALOG_DATA, MatDialogRef } from "@angular/material/dialog"; +import { TestbedHarnessEnvironment } from "@angular/cdk/testing/testbed"; +import { HarnessLoader } from "@angular/cdk/testing"; +import { MatButtonHarness } from "@angular/material/button/testing"; -describe('ConfirmDialogComponent', () => { +describe("ConfirmDialogComponent", () => { let component: ConfirmDialogComponent; let fixture: ComponentFixture; + let loader: HarnessLoader; + + let dialogRefSpy: jasmine.SpyObj>; beforeEach(async(() => { + dialogRefSpy = jasmine.createSpyObj("MatDialogRef", ["close"]); + TestBed.configureTestingModule({ - declarations: [ ConfirmDialogComponent ], - imports: [ MatDialogModule ], + declarations: [ConfirmDialogComponent], + imports: [MatDialogModule], providers: [ - { provide: MAT_DIALOG_DATA, useValue: {} }, - { provide: MatDialogRef, useValue: {} } - ] - }) - .compileComponents(); + { + provide: MAT_DIALOG_DATA, + useValue: { heading: "Delete Policy", message: "Do?" }, + }, + { provide: MatDialogRef, useValue: dialogRefSpy }, + ], + }).compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(ConfirmDialogComponent); component = fixture.componentInstance; fixture.detectChanges(); + loader = TestbedHarnessEnvironment.loader(fixture); }); - it('should create', () => { + it("should create and contain correct title, message and buttons", async () => { expect(component).toBeTruthy(); + + const title = fixture.debugElement.nativeElement.querySelector("#title"); + expect(title.innerText).toEqual("Delete Policy"); + + const message = fixture.debugElement.nativeElement.querySelector( + "#message" + ); + expect(message.innerText).toEqual("Do?"); + + const cancelButton = fixture.debugElement.nativeElement.querySelector( + "#cancelButton" + ); + expect(cancelButton).toBeTruthy(); + + const okButton = fixture.debugElement.nativeElement.querySelector( + "#okButton" + ); + expect(okButton).toBeTruthy(); + }); + + it("should close dialog with true when Ok button clicked", async () =>{ + let okButton: MatButtonHarness = await loader.getHarness( + MatButtonHarness.with({ selector: "#okButton" }) + ); + await okButton.click(); + + expect(dialogRefSpy.close).toHaveBeenCalledWith(true); + }); + + it("should close dialog without data when Cancel button clicked", async () =>{ + let cancelButton: MatButtonHarness = await loader.getHarness( + MatButtonHarness.with({ selector: "#cancelButton" }) + ); + await cancelButton.click(); + + expect(dialogRefSpy.close).toHaveBeenCalledWith(""); }); });