fix: читать операции из resource envelope без падения страницы счёта #70

Closed
opened 2026-10-13 14:05:06 +03:00 by codex-bot · 1 comment
Owner

После исправления списка счетов страница /accounts/:accountId падает в toRecentOperations: operations.data?.items.length при успешном GET /api/v1/brokerage-accounts/:accountId/operations. Backend возвращает { data: BrokerageOperationsPageDto | null, meta }, frontend ожидает плоскую страницу.

Acceptance criteria: общий query операций читает data из актуального backend OpenAPI контракта; data:null не воспринимается как подтверждённый пустой журнал и не вызывает падения; операции и пагинация работают у account, account-operations, stock, bond; регрессионные тесты и локальные проверки. Сохранить незавершённые изменения других областей.

После исправления списка счетов страница /accounts/:accountId падает в toRecentOperations: operations.data?.items.length при успешном GET /api/v1/brokerage-accounts/:accountId/operations. Backend возвращает { data: BrokerageOperationsPageDto | null, meta }, frontend ожидает плоскую страницу. Acceptance criteria: общий query операций читает data из актуального backend OpenAPI контракта; data:null не воспринимается как подтверждённый пустой журнал и не вызывает падения; операции и пагинация работают у account, account-operations, stock, bond; регрессионные тесты и локальные проверки. Сохранить незавершённые изменения других областей.
Author
Owner

Поведенческая часть уже на develop, добавлен недостающий регрессионный тест: PR #78.

  • Общий query операций читает data из контракта: useResourceQuery проецирует envelope (src/shared/api/resource-query.ts:130), типы — из snapshot; npm run openapi:check зелёный.
  • data:null не считается подтверждённым пустым журналом и не падает: AccountOperationsPage.vm возвращает loading/error до разыменования operations.data, toRecentOperations (src/pages/account/model/previews.ts:100) — loading/partial.
  • Операции и пагинация у account, account-operations, stock, bond покрыты существующими тестами (66 files / 426 tests зелёные).
  • В PR #78 добавлен тест: resource(null) → состояние загрузки, «Операций нет» не показывается.

Контекст: issue заведён от stale-чекаута (дерево на ветке от 15.09, там query шли без проекции envelope).

Поведенческая часть уже на `develop`, добавлен недостающий регрессионный тест: PR #78. - Общий query операций читает `data` из контракта: `useResourceQuery` проецирует envelope (src/shared/api/resource-query.ts:130), типы — из snapshot; `npm run openapi:check` зелёный. - `data:null` не считается подтверждённым пустым журналом и не падает: `AccountOperationsPage.vm` возвращает loading/error до разыменования `operations.data`, `toRecentOperations` (src/pages/account/model/previews.ts:100) — loading/partial. - Операции и пагинация у account, account-operations, stock, bond покрыты существующими тестами (66 files / 426 tests зелёные). - В PR #78 добавлен тест: `resource(null)` → состояние загрузки, «Операций нет» не показывается. Контекст: issue заведён от stale-чекаута (дерево на ветке от 15.09, там query шли без проекции envelope).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/frontend#70