public isValidStartDate() {
return this.form.controls.dueDate.touched && this.form.controls.dueDate.errors &&
!this.form.controls.dueDate.hasError('required')
}
public invalidDueDate() {
return this.form.controls.dueDate.touched && this.form.controls.dueDate.hasError('required');
}
it('should check a valid data', () => {
const dueDate = component.form.controls['dueDate'];
expect(component.isValidStartDate()).toBeFalsy();
expect(component.invalidDueDate()).toBeFalsy();
// Not working toBeTruthy
expect(component.isValidStartDate()).toBeTruthy();
expect(component.invalidDueDate()).toBeTruthy();
});
I need help for write unit test for toBeTruthy, any one can help please thanks
I don't know how to write test case for toBeTruthy
First condition in isValidStartDate
says this.form.controls.dueDate.touched
, so to imitate touched
state you could call dueDate.markAsTouched()
(https://angular.io/api/forms/AbstractControl#markAsTouched)