Pruebas a validadores async
Clase 15 de 17 • Curso de Angular: Unit Testing para Formularios
Contenido del curso
Clase 15 de 17 • Curso de Angular: Unit Testing para Formularios
Contenido del curso
Jorge Luis Silva Medina
Elioenai Garcia
Franklin Gil
Carlos Alejandro Hernández Mejía
Gerardo Pérez Pérez
Actualmente el endpoint de **/is-avalilable **no funciona regresa siempre false
shiale
Fuese bueno meterle un debouceTime al validador
En mi caso, usé debounceTime de la siguiente manera:
/** * Checks if the email is available * * @param userService Instance of UserService * @returns A function that returns an observable with the validation errors if any, otherwise null */ static checkIfEmailExists( userService: UserService, ): (control: AbstractControl) => Observable<ValidationErrors | null> { return (control: AbstractControl) => { return control.valueChanges.pipe( distinctUntilChanged(), debounceTime(500), switchMap((email) => userService.isAvailableByEmail(email)), map((response) => { if (!response.isAvailable) { return { emailExists: true }; } return null; }) ); }; }
Este es el curso para Unit Testing para Formularios, creo que si debería de entrar en detalle.