rest.test.jsrest.js), проверяющий корректность константы базового URL, сериализацию параметров запроса и сборку URL сервиса. Использует глобальный API Jest it/describe/expect. Этот тестовый файл гарантирует, что изменения маршрутизации URL (например, миграция префикса конечной точки REST с /rest на /rs) не нарушат логику построения URL, от которой зависят десятки компонентов, вызывающих API.Файл тестирует три экспортируемые функции из rest.js:
baseURL — одно утверждение, что константа равна ожидаемой строке. Это действует как канарейка: если базовый URL когда-либо неожиданно изменится, тест это обнаружит.
createQueryParams — описанный блок с четырьмя случаями: пустые параметры (возвращает пустую строку), одна пара ключ-значение, несколько пар ключ-значение, объединённых через &, и параметры, содержащие специальные символы, которые должны быть URI-закодированы (например, немецкие умлауты в Schwarzwälder Kirschtorte).
getServiceURL — описанный блок с тремя случаями: неопределённые параметры (просто добавляет путь к базовому), пустые параметры (то же самое) и параметры присутствуют (полный URL со строкой запроса). Проверяет сборку полного URL конечной точки REST из пути сервиса и необязательных параметров.
Этот тестовый файл сыграл критическую роль во время миграции префикса API. Когда базовый URL изменился с /rest на /rs, ожидания тестов послужили спецификацией: сначала были обновлены все утверждения, чтобы отразить новые ожидаемые значения, затем была изменена реализация в rest.js до тех пор, пока тесты не прошли. Позже миграция на Vite переместила обработку прокси на уровень инструмента сборки, что сделало baseURL тестируемым как пустая строка вместо /rs.
| Коммит | Что изменилось |
|---|---|
bf988bc6d | Изменено ожидаемое значение baseURL с '/rs' на '' (пустая строка). Это сопровождало миграцию react-scripts→Vite: dev-сервер Vite обрабатывает прокси-пересылку путей /rs и /rest на бэкенд, поэтому константа базового URL React-приложения больше не нуждается в префиксе, так как прокси-уровень обрабатывает это прозрачно. |
f744162e7 | Обновлены все ожидания тестов с '/rest' на '/rs' по всему файлу — четыре вхождения в тестовых случаях getServiceURL и одно в baseURL. Это отразило консолидацию конечных точек REST бэкенда, где старый префикс /rest был заменён на /rs для согласованности со схемой монтирования страниц Wicket. |
7ea575588 | Создан тестовый файл с начальным набором тестов, использующим '/rest' в качестве базового префикса сервиса. Установлен шаблон тестирования пустых параметров, одиночных параметров, множественных параметров и URI-закодированных специальных символов. Игривые тестовые данные (торты, вкус, Schwarzwälder Kirschtorte) появились здесь. |