Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

148
Views
Método de eliminación de prueba unitaria que se llama después de que se cierra el cuadro de diálogo mat

tengo un metodo

 delete(document: IDocument): void { const headerMessage = '' const message = '' const confirm = '' const reject = '' this.dialogService.openDialog(headerMessage, message, confirm, reject); this.dialogService.isClosed().subscribe(confirmed => { if (confirmed && document.id) { this.documentService.delete(document.id).subscribe(() => { this.loadPage(); }); } }); }

Simplemente no puedo probarlo bien.

La prueba unitaria es esta:

 it('should call delete service using confirmDialog',() => { // GIVEN const dialogService = TestBed.inject(DialogService); jest.spyOn(dialogService.dialogRef, 'afterClosed').mockReturnValue(of({})); const result = dialogService.isClosed(); expect(result instanceof Observable).toBe(true); expect(dialogService.dialogRef.afterClosed).toHaveBeenCalled(); jest.spyOn(service, 'delete').mockReturnValue(of(new HttpResponse({}))); // WHEN comp.delete({ id: 123 }); // THEN expect(service.delete).toHaveBeenCalledWith(123); });

me sale error:

 Cannot spyOn on a primitive value; undefined given 139 | 140 | const dialogService = TestBed.inject(DialogService); > 141 | jest.spyOn(dialogService.dialogRef, 'afterClosed').mockReturnValue(of({}));

Como no puedo simplemente probar el método de eliminación, necesito simular el diálogo y eliminarlo si se acepta pero no entiendo el error. A continuación se muestra el servicio de diálogo de confirmación:

 export class DialogService { dialogRef!: MatDialogRef<ConfirmationDialogComponent>; constructor(private dialog: MatDialog) {} openDialog(headerMsg: string, msg: string, confirm: string, reject: string): void { this.dialogRef = this.dialog.open(ConfirmationDialogComponent, { data: { header: headerMsg, message: msg, buttonText: { ok: confirm, cancel: reject, }, }, }); } isClosed(): Observable<any> { return this.dialogRef.afterClosed(); } }

Básicamente, solo necesito una simulación que haga clic en aceptar y luego verifique el método de eliminación

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!