Мне нужно использовать jest для проверки функции, в которой есть две функции. Первая функция в функции, которую я пытаюсь протестировать, отправляет POST к маршруту, в котором есть вызов API, а вторая функция извлекает данные, возвращенные из API, из конечной точки на сервере, который я настроил. Я очень мало знаю о шутках и о том, какие части шуток использовать для проверки этой функции. Вложить ли два теста в один тест для основной функции? Вот функции, которые мне нужно протестировать:
handleSubmit (основная функция, которую мне нужно протестировать):
document.getElementById('generate').addEventListener('click', handleSubmit);
function handleSubmit(event) {
//event.preventDefault()
// check what text was put into the form field
let url = document.getElementById('URL').value
postURL('/postURL', url)
.then(updateUI())
.then(checkURL)
};
postURL (первая функция, вложенная в основную функцию, которая выполняет POST)
let postURL = async(url = '', data = {})=>{
console.log(data);
let response = await fetch(url, {
method: 'POST',
credentials: 'same-origin',
headers: {
"Content-Type": 'application/json',
},
body: JSON.stringify( { data} ),
});
try {
updateUI()
}catch(error){
console.log("error", error);
}
}
updateUI (вторая функция, которая извлекает данные):
const updateUI = async () =>{
const res = await fetch('/sentiment');
console.log(res);
try {
console.log(res.data)
const allData = await res.json();
console.log(allData)
document.getElementById("polarity").innerHTML = allData.polarity;
document.getElementById("polarityConfidence").innerHTML = allData.polarity_confidence;
document.getElementById("subjectivity").innerHTML = allData.polarity;
document.getElementById("subjectivityConfidence").innerHTML = allData.polarity_confidence;
return allData;
}catch(error){
console.log(error)
}
};