Я пытаюсь проверить, работает ли проверка для формы с помощью vee-validate и vue-test-utils.Я также использую nuxt и создал собственный плагин, который устанавливает vee-validate и предоставляет два пользовательских вычисляемых свойства в качестве миксина.
Проблема в том, что мне нужен способ использовать эти миксины в экземпляре localVue, однакоЯ не могу просто импортировать весь файл, так как это приводит к тому, что vee-validate устанавливается дважды на основной экземпляр vue.Я также не могу просто сказать localVue.use (MyCustomVeeValidatePlugin), потому что у плагина нет метода установки («плагины» в nuxt несколько отличаются от vue).
Что работает, так это создание файла, который экспортирует isFormValidи isFormChanged, а затем плагин импортирует эти методы.Затем мне также нужно импортировать эти методы в тестовый файл и создать миксин для экземпляра localVue.Я бы предпочел определить миксин в одном файле плагина.Я знаю, что это очень специфично, но у кого-нибудь была подобная проблема?Я мог бы представить, что переписать плагин так, как он определен в документации Vue.js (с методом установки), и установить его как-нибудь.
Плагин:
import Vue from "vue";
import VeeValidate from "vee-validate";
Vue.use(VeeValidate);
//create global mixin for checking if form is valid
//note: every input element needs a name
Vue.mixin({
computed: {
isFormValid() {
return Object.keys(this.fields).every(key =>
this.fields[key].valid);
},
isFormChanged() {
return Object.keys(this.fields).some(key =>
this.fields[key].changed);
}
}
});