У меня есть matSlideToggle, привязанный к значению formControl. Я хочу создать модульный тест, который будет проверять, когда значение переключателя слайдов было изменено, и соответственно изменяется значение состояния в форме.
<form [formGroup]="form">
...
<mat-slide-toggle
formControlName="status"
(change)="changed($event)"
>
Status
</mat-slide-toggle>
...
</form>
форма инициализируется как
this.form = new FormGroup({
...
status: new FormControl(false),
...
});
}
измененный метод :
changed(status) {
console.log(
'status',
status,
this.form.get('status').value
);
}
В моем тесте я делаю следующее:
const statusToggleEl = fixture.debugElement.query(By.directive(MatSlideToggle));
statusToggleEl.triggerEventHandler('change', { checked: true });
fixture.detectChanges();
Этот код запускает измененный метод, и в консоли я вижу «status {checked: true} false», которое недопустимое поведение.