Как модульно протестировать функцию внутри функции более высокого порядка в JavaScript?

#javascript #unit-testing #jestjs #next

#язык JavaScript #модульное тестирование #jestjs

Вопрос:

Как адаптировать модульные тесты для существующей функции, которую необходимо обернуть в функцию более высокого порядка?

У меня есть две функции. getServerProps() получение данных и isAuthenticated() проверка подлинности пользователя. Оба в отдельных модулях со своими собственными модульными тестами.

 export function isAuthenticated(getServerProps) {  return async function (param1, param2, param3) {   const isLoggedIn = await authService()   if (!isLoggedIn) {  return { shouldRedirect: true };  }    const serverProps = await getServerProps(param1, param2, param3);  return { shouldRedirect: false, ...serverProps };  }; }  

.

 export async function getServerProps(param1, param2, param3) {  const data = new DataService(param1, param2, param3);  return { ...data }; }  

Изменение экспорта второй функции для isAuthenticated(getServerProps) объединения двух функций в одном блоке. Как изолировать исходные getServerProps() данные для целей модульного тестирования?

Как лучше всего писать тесты в такой ситуации?

Комментарии:

1. Я не совсем понимаю ваш вопрос…

2. Вы пробовали издеваться над функцией, которую не хотите тестировать?