Тестирование атрибута 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?

0 ответов

Другие вопросы по тегам