I am using angular 5, always the .controls property of the form is empty. Not sure why during testing angular doesn't create the form controls by reading the template file.
Template file
<form
#myForm="ngForm"
novalidate>
<input
#myCtrl
required
type="input"
name="myCtrl"
id="myCtrl"
[(ngModel)]="value">
</form>
Component file
@ViewChild('myForm') myForm: NgForm;
In my tests, when I console.log the following, I get {}
fixture.debugElement.componentInstance.myForm.controls
The form also has errors: null and status VALID despite the fact that the form should contain an invalid FormControl. Is it possible to unit test forms when they are configured with ViewChild rather than FormBuilder? Is there a way to do it with my ViewChild setup?
or do we have to mock the form by creating the controls again using FormGroup and assign it to
componentInstance.myForm.controls?