Примеры тестов Жасмин для событий клавиатуры со стрелками вверх и вниз - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь написать тестовые случаи для событий клавиатуры для компонента автозаполнения. Функция ниже вызывается, когда пользователь нажимает клавиши и клавиши, чтобы выбрать значения из выпадающего списка:

onKeyDown(event:KeyboardEvent){
    if(event.which !== 40 && event.which !== 38){
        return;
    }

    event.stopPropagation();
    if (event.which === 40 && this.arrowkeylocation < this.suggestionArray.length - 1) {
        // Arrow Down
        this.arrowkeylocation++;
        this.textSearch = this.suggestionArray[this.arrowkeylocation].title;
    } else if (event.which === 38 && this.arrowkeylocation > 0) {
        // Arrow Up
        this.arrowkeylocation--;
        this.textSearch = this.suggestionArray[this.arrowkeylocation].title;
    }      
}

Ниже приведены контрольные примеры, которые не работают:

it('should call onKeyDown 40 event', () => {
    const keyevent = {keyCode: 40};
    component.suggestionArray = [suggest,suggest];
    inputEl.triggerEventHandler('keydown',keyevent);
    expect(component.onKeyDown).toBeTruthy();
    expect(component.arrowkeylocation).toEqual(0);  
expect(component.textSearch).toEqual(component.suggestionArray[0].title);        
});

Здесь arrowkeylocation запускается счетчиком -1, чтобы автоматически заполнить значение текстового поля, когда пользователь нажимает клавишу или клавишу. SuggestionArray - это автозаполнение раскрывающихся значений.

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