Библиотека тестирования Vuejs — как написать тест для обработки запроса axios в «смонтированном» хуке
У меня есть компонент vue, который извлекает данные из API в «созданной» функции. Я просто встаю и работаю, используя следующий стек тестирования:
"devDependencies": {
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/vue": "^5.8.2",
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "^27.4.6",
"jest": "^27.4.7",
"vue-jest": "^3.0.7",
"webpack-dev-server": "^3.11.0"
}
Мой текущий тест:
import BatchCalendar from '../src/components/batch_calendar.vue';
import { render } from '@testing-library/vue';
test('It renders correctly and loads initial data', done => {
const wrapper = await render(BatchCalendar);
getByText('Calendar Notices');
});
Я знаю, что библиотека тестирования vue абстрагирует некоторые методы от основных утилит тестирования vue, поэтому мне остается использовать метод «рендеринга» библиотеки тестирования vue.
Мой вопрос заключается в том, как мне обрабатывать вызов API в хуке, созданном vue.
- Следует ли издеваться над всеми вызовами API (а также асинхронными методами?)?
- Как/где размещать функции ожидания/асинхронности?
- Если у меня есть плагин (fullcalendar), который самостоятельно отправляет API-запросы при рендеринге, как я могу издеваться/обрабатывать это?
Дайте мне знать, если вам нужна дополнительная информация, спасибо.