У меня есть HTML строки элемент в виде такКак имитировать двойное событие щелчка в угловом 2 кармы
<tr class="worktask" (click)="setCurrentTask($event, task)" (dblclick)="openTask($event, task)">some content</tr>
Теперь я хочу, чтобы проверить, если openTask вызывается, когда некоторые один двойной щелчок на элементе строки в таблице.
Так я пытаюсь сделать это:
it('should be able to double click on a row to open work stream', async(() => {
fixture.detectChanges();
comp.tasks=workflowServiceStub.getTasks(); //get dummy task
fixture.detectChanges(); // update view based on dummy task
spyOn(comp, 'openTask'); //spy on openTask function if it is called
let workTaskRow = fixture.debugElement.nativeElement.querySelectorAll('.worktask'); //getting task row
workTaskRow[0].dblclick();
fixture.whenStable().then(() => {
expect(comp.openTask).toHaveBeenCalled();
})
}));
Но когда я запускаю тест я получаю сообщение об ошибке сказав:
workTaskRow[0].dblclick is not a function
Я попытался .click(), и это, кажется, работа, не уверен, что я могу вызвать двойной щелчок здесь, чтобы проверить, вызвана ли функция openTask().
ответ есть: https://stackoverflow.com/questions/40537867/angular-2-unit-tests-how-do-i-test-for -The-контекстное меню и двойной щелчок-событие –