i am trying to write some unit tests for my project and I needed some help about it. I have an input and i want to verify that it accepts only numbers/digits, otherwise it should be invalid.
TS:
this.form = this.formBuilder.group({
inputNumber: [null, [Validators.required, Validators.min(0)]]});
HTML Template:
<mat-form-field>
<input matInput placeholder="pls give a number" type="number" step="1" formControlName="inputNumber">
</mat-form-field>
Unit Test (*.spec.ts):
it('FormControl only accepts numbers', () => {
let inputNumber = component.form.controls['inputNumber'];
inputNumber.setValue(null);
console.log('Valid :', inputNumber.valid);//valid: false (required)
inputNumber.setValue('any string or !number');
expect(inputNumber.valid).toBe(false);//but returns TRUE
});
thanks !