Не могу понять, как тестировать и мокать Jest'ом свой клиент к API сервера.
У меня есть файл
createApiClient.js:
import axios from 'axios';
function createApiClient(config = {}) {
const client = axios.create(config);
client.interceptors.response.use((response) => response.data,
(error) => {
if (error.response) {
throw error.response.data;
} else {
throw new Error('Ошибка во время соединения с сервером! Попробуйте повторить попытку позже.');
}
});
return client;
}
export default createApiClient;
Затем есть файл, уже использующий эту функцию для создания конкретного клиента
client.js:
import createApiClient from '../createApiClient';
const request = createApiClient({
baseURL: process.env.VUE_APP_AUTH_API_URL,
});
async function logIn(username, password) {
const { token } = await request.post('login/', {
username,
password,
});
return token;
}
// other functions...
export { logIn, register, getUserInfo };
Как протестировать logIn() и другие функции в клиенте, не могу понять, как и что правильно мокать, особенно интересует момент с
axios.create()
и
interceptors
?