35 lines
2.9 KiB
Markdown
35 lines
2.9 KiB
Markdown
# Frontend: ответственность и проверка
|
|
|
|
Frontend предоставляет пользовательские экраны, навигацию и представление
|
|
финансовых данных. Он получает данные только через публичный API backend;
|
|
credentials T-Bank остаются на сервере. Состав приложения и потоки показаны
|
|
в [обзоре системы](../architecture/system-overview.md).
|
|
|
|
## Совместимость с backend
|
|
|
|
Типизированный клиент frontend производится из опубликованного backend
|
|
OpenAPI. Согласованность клиента с сохранённым описанием API и согласованность
|
|
этого описания с работающим backend проверяются отдельно.
|
|
Изменение публичного контракта требует обновления производного клиента;
|
|
подробности — [согласованность OpenAPI](runtime-openapi-verification.md).
|
|
|
|
## Проверка интерфейса
|
|
|
|
Локальная проверка frontend охватывает корректность типов, статический анализ,
|
|
автоматические сценарии, зависимости и сборку приложения и UI-каталога.
|
|
Она может выполняться без запущенного backend. Покрытие тестами ограничивает
|
|
регрессии; само по себе число покрытых строк не доказывает правильность
|
|
финансового расчёта, доступность или прохождение пользовательского сценария.
|
|
|
|
[Каталог](ui-catalog.md) показывает существующие визуальные решения.
|
|
Соответствие задаче, широкий и узкий экран, клавиатурная навигация и восстановление
|
|
после ошибок проверяются в интерфейсе отдельно от успешной сборки.
|
|
|
|
## Состояние тестового клиента
|
|
|
|
Независимые проверки получают изолированное состояние клиента. Обновление
|
|
представления внутри одного сценария сохраняет его кэш; следующий сценарий
|
|
не наследует сессию и ответы предыдущего. Повторные попытки в тестовой среде
|
|
могут быть отключены для предсказуемого результата. Это не меняет
|
|
[политику обновления данных приложения](../adr/007-react-query-fetch-policy.md).
|