Первая часть ответа в контексте юнит тестирования, вторая будет про end to end тестирование. Чтобы код можно было тестировать, он должен быть организован особым образом. Не каждый код можно протестировать.
В твоем случае лучше всего взять такой план действий:
Настроить jest по примерам. Так чтобы он запускался и запускал какой-то простейший тест (не важно что конкретно в нем).
Создать модуль с функциям которые потом будут использоваться для сложения-вычитания. Возможно тебе придется заморачиваться с препроцессором типа webpack чтобы можно было использовать модули. Тело функций нужно будет взять и “переработать” из того решения что у тебя уже есть.
Написать копипастой тесты для созданных функций. Лучше всего варианты тестов подскажет ИИ (который я не устану рекомендовать). Спроси его в стиле “дай список тестов которые нужно написать для проверки функции сложения”.
Реализовать решение калькулятора, используя созданные функции.
И еще абстрактных идей. Для того чтобы кусок кода был тестируем нужно чтобы он зависил только от входных параметров (иными словами не зависел от глобальных переменных, наличия какого-то узла на странице). Такие куски кода, вернее функции, еще называют “чистые функции”.
Возможно у тебя задача написать end2end тесты. Они устроены иначе чем юнит тестирование. Они проверять корректность работы всей системы в браузере, прощелкивая элементы и сравнивая ожидаемое поведение браузера с фактическим. Это отдельная большая тема (субъективно более сложная и менее полезная чем юнит в контексте программиста). Напишу про нее если будет от кого-то запрос-вопрос.
Я учусь, и первый урок по “jest” - это 2-х минутное видео, как установить его, основные команды и задание. Моё задание выглядит так:
**Сверстайте форму - калькулятор. **
Поля:
** первое значение;**
** оператор ( сложение, вычитание, умножение, деление ). Может быть представлен в виде выпадающего списка;**
** второе значение;**
** кнопка рассчитать;**
** поле для результата.** Стили произвольные Напишите тесты на сложение, вычитание, умножение, деление.
В сети перерыл много материала, но результата 0((( уже третий день завис на этом уроке((((
Лучше всего связаться с автором урока и узнать чего автор имел в виду.
Судя по описанию речь про end-2-end тесты. Это где ты пишешь программу которая эмулирует поведение пользователя (находит узел, делает клик) и проверяет ожидаемое поведение (изменение значений, классов, видимости) других узлов.
У тебя есть система в которой есть базовый end2end тест типа проверки названия заголовка страницы? Если нет, то такая система должна быть твоим первым шагом.