2017-02-15 5 views
1

У меня есть простое окно поиска в моем компоненте, и я бы хотел, чтобы блок тестировал поведение, когда текст вводится в поле поиска.Тест Vue2 в PhantomJS, как отправить ключи или событие триггера?

Шаблон

<input type="text" placeholder="Search..." id="filterBox" v-on:input="updateFilter"> 

тест Блок

import Vue from 'vue'; 
import Grid from 'src/components/Grid'; 

function create (Component, propsData) { 
    const Ctor = Vue.extend(Component); 
    return new Ctor({ propsData }).$mount(); 
} 

describe('Grid.vue',() => { 
    it('should debounce search',() => { 
    const vm = create(Grid, { 
     data: [], 
     columns: [], 
     initialSortKey: 'a' 
    }); 
    var box = vm.$el.querySelector('#filterBox'); 
    //TODO figure out how to send keys 
    }); 
}); 

Я использую Vue2 и PhantomJS для модульных тестов. Как я могу отправить ключи в поле ввода или вызвать событие изменения значения?

ответ

1

Одним из решений было бы использовать jQuery.

var e = $.Event('keydown'); 
e.which = 56; // whatever keycode you need here 
$('#filterBox').trigger(e); 

Так что теперь вам нужно сделать это повторно. Но это то, как вы запускаете событие.

Смежные вопросы