2017-02-06 2 views
1

У меня есть 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().

+0

ответ есть: https://stackoverflow.com/questions/40537867/angular-2-unit-tests-how-do-i-test-for -The-контекстное меню и двойной щелчок-событие –

ответ