Я пишу тестовый пример, в котором мне нужно обновить входное значение, используя событие keydown
, но я не могу изменить входное значение.Пожалуйста, помогите!
Ниже приведен код, который я пробовал, но он не работает.
import { Component } from 'vue';
import Vuex from 'vuex';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import numericOnly from '@/directives/input-numeric-only';
const localVue = createLocalVue();
localVue.use(Vuex);
localVue.directive('numericOnly', numericOnly);
describe('Directives Input-Numeric-Only', () => {
let component: Component;
let wrapper: any;
beforeEach(() => {
component = {
template: `
<input type="text" id="inputNumericOnly" v-numericOnly
v-bind:value="inputValue" @input="updateInput($event)" />
`,
data() {
return {
inputValue: 0,
};
},
methods: {
updateInput($event: any) {
console.log('Input Change....', $event.target.value);
},
},
};
wrapper = shallowMount(component, {
localVue,
});
});
it('Check if char key is pressed', () => {
wrapper.find('input').trigger('keydown', {
which: 65,
});
expect(wrapper.vm.inputValue).toBe('a');
});
});
Я ожидаю, что входное значение будет изменено, но не повлияет на него.