Tengo este ngForm con contenido, entre otras cosas, un campo de texto para un mensaje. Este campo de texto debe ser prellenado con una firma previamente elegida (Saludos cordiales, ...).
Además, hay un botón de reinicio que activa el siguiente método:
reset() { this.form.resetForm( {message: this.getDefaultMessage()}); }Esto restablece cada campo de formulario y establece el valor predeterminado para el campo de mensaje con el siguiente método:
getDefaultMessage() { if (this.user.signature) { return '\n\n' + this.user.signature; } else { return ''; } }Mientras probaba la aplicación en ejecución, esto funciona de maravilla, pero estoy luchando para probar esto con éxito.
it('should reset form', () => { const signature = 'Best regards'; component.user.signature = signature; // setting user signature component.reset(); // trigger reset expect(component.user.signature).toEqual(signature); // user signature successfully set expect(component.getDefaultMessage()).toContain(signatur); // default message contains specified signature expect(component.message).toEqual(component.getDefaultMessage()); // (FAILING) message field was set to the result of the getDefaultMessage-method });El último bloque esperado genera este error:
1) should reset form MaUploadComponent Expected '' to equal ' Best Regards'.Mi mejor suposición es que el método resetForm de ngForm se ejecuta en un punto específico en el ciclo de vida de actualización del componente, específicamente la inyección de valores predeterminados dados porque probar los campos de reinicio sin valores predeterminados funciona sin ningún problema.
Pero, ¿cómo pruebo esto correctamente? ¡Gracias por adelantado!