Вам нужно что-то вернуть из кода задачи, чтобы Cypress знал, чего ждать, чтобы знать, что ваша задача завершена, прежде чем запускать другой код.
Ознакомьтесь с документацией cy.task()
:
В плагине task
команда завершится ошибкой, если будет возвращено undefined.Это помогает отловить опечатки или случаи, когда событие задачи не обрабатывается.
Чтобы это исправить, вам просто нужно изменить код задачи, чтобы возвращалось обещание.Прямо сейчас вы ничего не возвращаете.
В вашем plugins/index.js
:
const FOY = require('../resetScripts/talentMine/FOY');
module.exports = (on, config) => {
on('task', {
'TMDeleteFOY': (emailaddress) => {
// CHANGED: return a promise so Cypress can wait for it
return FOY.TMDeleteFOY(emailaddress);
}
})
}
В вашем файле FOY.js
(исключая ненужные разделы для краткости):
// start of your FOY.js...
//Delete a record for a user
async function TMDeleteFOY (emailAddress) {
var bearerToken = await getJWT();
var userId = await getUserId(emailAddress);
// CHANGED: return this promise chain so Cypress can wait for it
return await axios.delete('https://example2.com/'+userId+'/record', {'headers':{Authorization: 'Bearer '+bearerToken+''}});
}
// end of your FOY.js...