Покрыть готовый код тестами на Cypress и Jest. Тестирование. Функциональные требования Интеграционные тесты на Cypress написаны для страницы конструктора бургера: Созданы моковые данные для ингредиентов (например, в файле ingredients.json); Настроен перехват запроса на эндпоинт 'api/ingredients’, в ответе на который возвращаются созданные ранее моковые данные. Протестировано добавление ингредиента из списка в конструктор. Минимальные требования — добавление одного ингредиента, в идеале — добавление булок и добавление начинок. Протестирована работа модальных окон: открытие модального окна ингредиента; закрытие по клику на крестик; закрытие по клику на оверлей (желательно); Создание заказа: Созданы моковые данные ответа на запрос данных пользователя. Созданы моковые данные ответа на запрос создания заказа. Подставляются моковые токены авторизации. Собирается бургер. Вызывается клик по кнопке «Оформить заказ». Проверяется, что модальное окно открылось и номер заказа верный. Закрывается модальное окно и проверяется успешность закрытия. Проверяется, что конструктор пуст. Тесты на Jest: Проверяют правильную инициализацию rootReducer. Проверяют редьюсер слайса constructor: обработку экшена добавления ингредиента; обработку экшена удаления ингредиента; обработку экшена изменения порядка ингредиентов в начинке; Проверяют редьюсеры остальных слайсов (на примере ingredients): При вызове экшенаRequest булевая переменная, отвечающая за текущий запрос (например, store.isLoading) меняется на true. При вызове экшена Success и передаче в него ингредиентов эти данные записываются в стор (например, в [store.data](http://store.data)) и store.isLoading меняется на false. При вызове экшена Failed и передаче в него ошибки она записывается в стор (например, store.error) и store.isLoading меняется на false.