В моем приложении Angular5 у меня есть выбор циновки для списка дат. Когда пользователь выбирает новую дату из опций, мой процессор selectionChange запускает запрос данных.
Я пытаюсь написать тест Жасмин, чтобы симулировать взаимодействие с пользователем, чтобы убедиться, что обработка выполнена правильно. Я не знаю, как заставить mat-select выбрать значение и выдать selectionChange, как если бы пользователь сделал выбор.
Я видел проблему в Angular Material2 GitHub (выпуск 5082), которая ссылается на тесты для mat-select - я пытался создать событие нажатия клавиши со стрелкой вниз, чтобы инициировать выбор следующего элемента:
let selCtrl = fixture.nativeElement.querySelector('mat-select');
selCtrl.dispatchEvent(new KeyboardEvent({key: 'ArrowDown', code: 'ArrowDown'});
Однако, похоже, что это не работает - при проверке созданного мною события и кода выбора коврика выясняется, что keyCode не создается, и это требуется для функции выбора метки.
Я попытался установить значение элемента управления программным способом, но это не приводит к генерации selectionChanged.
Какие-либо предложения о том, как вызвать изменения выбора циновки из теста Жасмин?