имеется REST приложение на Vue. Хочу ко всему этому делу прикрутить тестирование на Jest + Vue-test-utils. С тестированием знаком плохо. Документацию всю доступную изучил, но по тестированию конкретно запросов особо инфы нет. Проблема слудующая, есть обычная форма входа
import axios from 'axios'
export default {
name: 'LoginForm',
data () {
return {
answer: null,
login: '',
password: ''
}
},
methods: {
sendForm (e) {
e.preventDefault()
let data = new FormData()
data.append('username', this.login)
data.append('password', this.password)
axios
.post(this.$root.baseUrl + this.$apiPath.login, data)
.then(response => {
if (response.status === 200) {
axios.defaults.headers.common['Authorization'] = 'Bearer ' + response.data.accessToken
this.$router.push({name: 'MainForm'})
}
})
.catch(response => {
this.answer = response.message
})
}
}
}
<template>
<form>
<h2>Вход</h2>
<p class="informer" v-show="answer !== null">Указаны неверные логин\пароль</p>
<label>
Логин
<input type="text" v-model="login">
</label>
<label>
Пароль
<input type="password" v-model="password">
</label>
<input id="submit" type="submit" value="Войти" @click="sendForm">
</form>
</template>
Соотвественно когда вызываю trigger('click') приходит ошибка:
[Vue warn]: Error in v-on handler: "TypeError: Cannot read property 'login' of undefined"
Насколько понял, нужно копать в сторону моков, но какой-то конкретной информации как их использовать в такой ситуации не нашел. Можете подсказать ссылки на доки, которые доступны объяснят или разъяснить конкретно на этом примере как провести тест.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости