2.6 KiB
2.6 KiB
MODIFIED Requirements
Requirement: Client Cached Snapshot остаётся доступным при обновлении Accounts и Portfolio
Frontend MUST сохранять Client Cached Snapshot списка Brokerage Accounts или Portfolio на экране, если для этого же набора данных уже был успешно получен ответ. Начальная загрузка без такого ответа может показывать блокирующее состояние загрузки. Client Cached Snapshot MUST оставаться видимым во время перечитывания сохранённых данных и после его ошибки; он не является server-side fallback и MUST NOT изменять или интерпретировать поле Portfolio.isStale. Повтор после транспортной ошибки MUST повторять чтение, а не инициировать синхронизацию с T-Bank.
Scenario: Список Brokerage Accounts обновляется в фоне
- WHEN экран Accounts уже показывает Client Cached Snapshot и начинается фоновое перечитывание того же списка
- THEN frontend оставляет список видимым и показывает только неблокирующий индикатор обновления
Scenario: Обновление Portfolio завершается ошибкой после успешного ответа
- WHEN экран Brokerage Account уже показывает Client Cached Snapshot Portfolio, а последующее чтение этого же Portfolio завершается ошибкой
- THEN frontend сохраняет Portfolio видимым, показывает локализованное неблокирующее предупреждение о показе последних полученных данных и предоставляет повторную попытку чтения без команды синхронизации
Scenario: Server-side fallback и client cached snapshot различаются
- WHEN backend возвращает Portfolio с
isStaleлибо перечитывание Client Cached Snapshot завершается ошибкой - THEN frontend отображает соответствующее server-side либо client-side предупреждение независимо, не представляя один вид состояния другим