Всем привет!
Компонент Login
<template lang="html">
<div class="auth">
<div class="auth__container">
<input
class='auth__input'
v-model='login'
/>
<input
class='auth__input'
v-model='password'
/>
<button
class='auth__button'
@click='entry'
>entry</button>
<span
v-if='error'
class='auth__error'
>{{ error }}</span>
<span
v-if='success'
class='auth__success'
>{{ success }}</span>
</div>
</div>
</template>
<script>
import axios from 'axios'
export default {
data() {
return {
login: '',
password: '',
error: '',
success: '',
rest: {}
}
},
methods: {
async entry() {
let {
data
} = await axios.get('login.js')
this.rest = data
}
}
}
</script>
Тест
import { mount } from '@vue/test-utils'
import Login from '@/components/Login.vue'
describe('Login', () => {
it('toEq', async () => {
const wrapper = mount(Login)
wrapper.find('button').trigger('click')
return expect(wrapper.vm.rest).toBe('value')
})
})
Ожидается ответ 'value', но rest равен ' '
Если пробую nextTick
import { mount } from '@vue/test-utils'
import Login from '@/components/Login.vue'
describe('Login', () => {
it('toEq', done => {
const wrapper = mount(Login)
wrapper.find('button').trigger('click')
wrapper.vm.$nextTick(() => {
expect(wrapper.vm.rest).toBe('value')
done()
})
})
})
То идет ожидание 7 секунд и тест валится из-за того, что время прошло
Что нужно делать?
Помогите пожалуйста, уже все перелистал и не понимаю