#angular #unit-testing
#angular #модульное тестирование
Вопрос:
У меня есть сетка, заполненная людьми, у каждого человека есть набор действий, которые пользователь может выполнить с ними, например, обновить электронную почту. Эти действия сохраняются в поле выбора DevExtreme. Мне нужно написать простой тест, который проверяет, изменилось ли какое-либо из значений выпадающего списка.
Я сохраняю выпадающие списки в @ViewChildren следующим образом:
@ViewChildren(DxSelectBoxComponent) actionSelectBoxes: QueryList<DxSelectBoxComponent>;
Использование функции, которая либо продолжает создание клиента, либо сбрасывает все экземпляры поля выбора следующим образом:
public inviteClicked(id: number) {
this.confirmationDialog.show(this.newExamMessage, 'Create a client',
() => this.createAClient(id),
() => this.actionSelectBoxes.forEach((x) => x.instance.reset())
);
}
Может ли кто-нибудь дать какие-либо советы о том, как я могу написать модульный тест для него, не обязательно нужен код, но, возможно, шаги и что я мог бы попробовать? Я не могу использовать шпионов для этой задачи.
В настоящее время мой тест выглядит так, ему повезло с любым типом логики, любая помощь приветствуется:
it('should reset selection if cancelled', fakeAsync(() => {
setupComponent();
mockConfirmationDialogService.extend({
show: (_, __, onSuccess: Function, onCancel: Function) => onCancel()
})
component.inviteClicked(1);
flush();
expect(1).not.toBe(2);
}));