Tengo que probar si algunos controles están habilitados.
ngOnChanges(): void { this.form.get('menuVisibility').valueChanges.subscribe((visible: boolean) => { ['userIdVisibility', 'userOptionsVisibility', 'languageVisibility'].forEach((controlName) => { if (visible) { this.form.controls[controlName].enable(); } else { this.form.controls[controlName].disable(); } }); }); }Escribí esta SPEC:
it('should dispatch action for valueChanges', fakeAsync(() => { component.form.get('menuVisibility').setValue(true); component.form.get('menuVisibility').updateValueAndValidity({ emitEvent: true }); component.ngOnChanges(); tick(); expect(component.form.get('userIdVisibility').enabled).toBeTruthy(); expect(component.form.get('userOptionsVisibility').enabled).toBeTruthy(); expect(component.form.get('languageVisibility').enabled).toBeTruthy(); }));Pero la prueba nunca entra en el bloque forEach.