Компонент модульного тестирования с matSlideToggle в шаблоне - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть 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», которое недопустимое поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...