Estoy probando una función que tiene una referencia a un formulario (this.form), así que cuando trato de probarla, me pregunto cómo puedo simular ese formulario para que la función tenga acceso a él.
Aquí está la función que estoy probando:
export function isInvalid(control: string) { const _control = this.form?.controls[control]; if (!_control) { console.log('isInvalid - no control', control) } const _touched = _control?.touched; const _invalid = _control?.invalid; return _touched && _invalid; }Aquí está la prueba para la función isInvalid. Creé un formulario simulado, pero el problema es que la referencia al formulario (this.form) está dentro de la función, por lo que no puede acceder al formulario simulado. ¿Alguna idea de cómo puedo evitar esto? Gracias.
it('should check isInvalid - return true', () => { const form: FormGroup = new FormGroup({ name: new FormControl(''), }); const control = "name"; expect(isInvalid(control)).toEqual(-1); });