feat(analytics): net cashflow reporting #26

Merged
admin merged 4 commits from feature/net-analytics-cashflow into main 2026-08-19 11:24:36 +00:00
Collaborator

Что изменено

  • Нетто-расчёт доходов и расходов по типу категории
  • Возвраты в расходной категории уменьшают её расходы
  • Переводы исключены из P&L и показаны в движении ДС
  • Обновлены контракты, документация и версии

Проверки

  • npm run build --workspace=@family-budget/shared
  • npm run build --workspace=@family-budget/backend
  • npm run build --workspace=@family-budget/frontend
## Что изменено - Нетто-расчёт доходов и расходов по типу категории - Возвраты в расходной категории уменьшают её расходы - Переводы исключены из P&L и показаны в движении ДС - Обновлены контракты, документация и версии ## Проверки - npm run build --workspace=@family-budget/shared - npm run build --workspace=@family-budget/backend - npm run build --workspace=@family-budget/frontend
agent added 1 commit 2026-08-18 20:10:01 +00:00
Author
Collaborator

Blocking: в PR нет ни одной исполнимой проверки нетто-правил, хотя backend/src/services/analytics.ts меняет агрегирование summary/by-category/timeseries. Нужен минимальный тест/самопроверка, покрывающий как минимум расход + возврат в одной expense-категории, income-корректировку и transfer, включая фильтр периода/счёта. Без него регрессия в SQL останется незамеченной.

Blocking: в PR нет ни одной исполнимой проверки нетто-правил, хотя `backend/src/services/analytics.ts` меняет агрегирование summary/by-category/timeseries. Нужен минимальный тест/самопроверка, покрывающий как минимум расход + возврат в одной expense-категории, income-корректировку и transfer, включая фильтр периода/счёта. Без него регрессия в SQL останется незамеченной.
agent added 1 commit 2026-08-19 04:49:59 +00:00
Author
Collaborator

Повторный review commit 019714a: npm run test:analytics --workspace=@family-budget/backend запускается и проходит; все три build также проходят. Blocking всё ещё остаётся: тест покрывает чистый helper, но не изменённые SQL-запросы getSummary/getByCategory/getTimeseries и не проверяет обязательные фильтры периода и счёта. Поэтому прежнее замечание закрыто лишь частично; нужен минимальный интеграционный/SQL-level check этих сценариев. Новых блокеров в полном diff не найдено.

Повторный review commit 019714a: `npm run test:analytics --workspace=@family-budget/backend` запускается и проходит; все три build также проходят. Blocking всё ещё остаётся: тест покрывает чистый helper, но не изменённые SQL-запросы `getSummary`/`getByCategory`/`getTimeseries` и не проверяет обязательные фильтры периода и счёта. Поэтому прежнее замечание закрыто лишь частично; нужен минимальный интеграционный/SQL-level check этих сценариев. Новых блокеров в полном diff не найдено.
agent added 1 commit 2026-08-19 06:12:48 +00:00
Author
Collaborator

Финальный повторный review commit 1cbef45: прежнее замечание исправлено. analytics.integration.test.ts вызывает getSummary/getByCategory/getTimeseries с одним DB-клиентом в BEGIN, покрывает возврат, корректировку дохода, transfer, фильтры accountId и периода, а в finally выполняет ROLLBACK и release. Optional Queryable ограничен инъекцией DB-клиента для теста; штатные вызовы не изменены. npm run test:analytics --workspace=@family-budget/backend и backend build проходят. DB-test не запускал: доступ к тестовой БД отсутствует из-за запрещённого SSH port forwarding, что подтверждено в PR-контексте. Blocking findings не найдено.

Финальный повторный review commit 1cbef45: прежнее замечание исправлено. `analytics.integration.test.ts` вызывает getSummary/getByCategory/getTimeseries с одним DB-клиентом в BEGIN, покрывает возврат, корректировку дохода, transfer, фильтры accountId и периода, а в finally выполняет ROLLBACK и release. Optional `Queryable` ограничен инъекцией DB-клиента для теста; штатные вызовы не изменены. `npm run test:analytics --workspace=@family-budget/backend` и backend build проходят. DB-test не запускал: доступ к тестовой БД отсутствует из-за запрещённого SSH port forwarding, что подтверждено в PR-контексте. Blocking findings не найдено.
agent added 1 commit 2026-08-19 06:15:04 +00:00
Author
Collaborator

Финальный review после 36562f8 завершён без blocking findings. CHANGELOG.md добавляет только значимые изменения PR и согласован с версиями Frontend 0.9.0 / Backend 0.6.2. Предыдущие замечания закрыты: есть unit-проверка и transactional SQL-check с ROLLBACK. Повторно прошли npm run test:analytics --workspace=@family-budget/backend, сборки shared/backend/frontend и git diff --check. DB-интеграционный запуск по-прежнему недоступен из-за запрещённого SSH port forwarding; тест проверен статически в предыдущем review.

Финальный review после 36562f8 завершён без blocking findings. CHANGELOG.md добавляет только значимые изменения PR и согласован с версиями Frontend 0.9.0 / Backend 0.6.2. Предыдущие замечания закрыты: есть unit-проверка и transactional SQL-check с ROLLBACK. Повторно прошли `npm run test:analytics --workspace=@family-budget/backend`, сборки shared/backend/frontend и `git diff --check`. DB-интеграционный запуск по-прежнему недоступен из-за запрещённого SSH port forwarding; тест проверен статически в предыдущем review.
admin merged commit e78445888f into main 2026-08-19 11:24:36 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/family_budget#26