Тестирование атрибута v-text-field v-model в Avoriaz не работает
Я использую avoriaz
как моя библиотека для тестирования karma
а также mocha
, У меня есть несколько тестов для моего Register.vue
компонент, который все работает нормально, за исключением проверки, если мой v-text-field
имеет v-model
атрибут и если атрибут равен "электронная почта".
Register.vue
<template>
<v-layout column>
<v-flex xs6 offset-xs3>
<panel title="Register">
<form
name="tab-tracker-form"
autocomplete="off">
<v-text-field
label="Email"
v-model="email"
></v-text-field>
</form>
</panel>
</v-flex>
</v-layout>
</template>
Register.spec.js
import Register from '@/components/Register'
import { mount } from 'avoriaz'
describe('Register.vue', () => {
const wrapper = mount(Register)
const emailInputField = wrapper.find('v-text-field')[0]
it('email v-text-field must contain a v-model attribute', () => {
expect(emailInputField.hasAttribute('v-model')).to.equal(true)
})
it('v-model attribute for email v-text-field must be equal to "email"',() => {
expect(emailInputField.getAttribute('v-model')).to.equal('email')
})
})
Первые тестовые выводы expected false to equal true
Вторые выходы [avoriaz]: wrapper has no attribute called v-model
Глядя на avoriaz
документация, getAttribute
возвращает значение указанного атрибута DOM-узла оболочки и hasAttribute
проверяет, имеет ли узел DOM оболочки указанный атрибут. Выполнение тех же тестов выше для label
Атрибут работает отлично.
Проблема здесь в том, что v-model
считается directive
а не атрибут DOM-элемента?
Как бы я создать тест, который проверяет мои элементы v-model
?