Для моего теста я ожидаю, что он начнется со значения длины 39 (maxlength: 40), и когда я нажимаю клавишу (ie: 'a'), длина должна быть 40. Однако что-либо, что я пытаюсь или ищу, кажется, не позволяет мне вызвать событие нажатия / нажатия клавиш / keyup.
Мой компонент:
<q-input
v-model="name"
class="my-class"
maxlength="40"
\>
Мой тест:
it('Input should change', async() => {
let wrapper = mount(Component, { name: 'M'.repeat(39) })
let name = wrapper.find('.my-class')
console.log(name.vm.$options.propsData.value) // prints 39 M's as expected
name.trigger('click') // I try clicking the input. I've also tried triggering 'focus'
await wrapper.vm.$nextTick() // I've also tried with and without this
// I've also tried await name.vm.$nextTick()
name.trigger('keydown', { key: 'a' }) // According to their testing docs, this should press 'a'
// I've also tried name.trigger('keyup', { key: 'a' })
// and name.trigger('keypress', { key: 'a' })
await wrapper.vm.$nextTick()
console.log(name.vm.$options.propsData.value) // prints 39 M's without the additional 'a'
expect(name.vm.$options.propsData.value.length).toBe(40)
})