Files
specs/openspec/changes/group-account-rows-by-instrument/test-cases/totals.md
T
ksv741 9aa390b8e9
Conventional commits / commits (pull_request) Successful in 9s
Specs security / security (pull_request) Successful in 6s
Specs verify / verify (pull_request) Successful in 8s
spec: plan grouping of all-account rows by instrument (WealthLedger/main#47)
2026-10-30 07:12:37 +03:00

59 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Test Cases — totals
## TC-TOT-001 — Мультивалютная группа со смешанными знаками и большой разрядностью: точный десятичный оракул
**Verifies:** `brokerage-account-ledger` — `All-accounts ledger group shows each entry and an exact total` (new combination: calculated oracle)
**Risk / Priority:** Высокий / High
**Preconditions:** Режим «Все счета», полный период.
**Test Data:** Один день, облигация X, точный тип «купон»: +0.1 RUB (Брокерский), +0.2 RUB (ИИС), −1500000.45 RUB (Брокерский, корректировка того же типа), +200 RUB (ИИС); плюс в той же группе день выплат USD: +0.01 USD и −0.02 USD.
**Steps:**
1. Открыть журнал «Все счета» за день.
2. Прочитать итог группы по каждой валюте.
**Expected Results:** Итог RUB = −1499800.15 (точная десятичная сумма: 0.1+0.2−1500000.45+200), без плавающей точки артефактов (не −1499800.1499999); итог USD = −0.01; два отдельных итога, без конвертации и без общего итога; каждая строка показывает свою сумму со знаком.
**Automation Candidate:** yes (E2E)
## TC-TOT-002 — Разное число знаков после запятой у записей группы
**Verifies:** `brokerage-account-ledger` — `All-accounts ledger group shows each entry and an exact total` (new combination)
**Risk / Priority:** Средний / High
**Preconditions:** Режим «Все счета», полный период.
**Test Data:** Группа купонов X: +100.5 RUB, +49.50 RUB, +0.005 RUB (если сервер отдаёт такую точность).
**Steps:**
1. Открыть журнал, прочитать итог.
**Expected Results:** Итог = 150.005 RUB ровно, без округления до 2 знаков и без потери младшего разряда; строки показывают суммы как отданы сервером.
**Automation Candidate:** yes (E2E)
## TC-TOT-003 — Нулевой итог и запись без денежного изменения в одной группе
**Verifies:** `brokerage-account-ledger` — `All-accounts ledger group shows each entry and an exact total` / Scenario: Нулевой итог; Scenario: Группа с записью без денежного изменения (new combination: обе записи в одной группе)
**Risk / Priority:** Средний / Medium
**Preconditions:** Режим «Все счета», полный период.
**Test Data:** Группа X: +150.10 RUB, −150.10 RUB, запись без денежного изменения (например, только количество бумаг).
**Steps:**
1. Открыть журнал, прочитать группу.
**Expected Results:** Итог группы скрыт; запись без изменения обозначена как «без движения», а не как 0 RUB; строки остаются видимыми.
**Automation Candidate:** yes (E2E)
## TC-TOT-004 — `partial` → подтверждённая полнота: итог появляется
**Verifies:** `brokerage-account-ledger` — `All-accounts ledger group shows each entry and an exact total` / Scenario: Итог скрыт при неполном периоде (new combination: смена состояния)
**Risk / Priority:** Высокий / High
**Preconditions:** Режим «Все счета»; заглушка API (MSW/Playwright route) с управляемым `meta`.
**Test Data:** Группа X: +200 RUB и +100 RUB. Первый ответ — `meta` с `partial` для одного из счетов; второй ответ — подтверждённая полнота.
**Steps:**
1. Открыть журнал с partial-ответом; зафиксировать группу.
2. Подтвердить полноту (повторный запрос/фоновая догрузка с полной `meta`).
**Expected Results:** При `partial`: строки видны, итог скрыт. После полноты: появляется точный итог +300 RUB; состав и порядок строк не изменились.
**Automation Candidate:** yes (E2E)
## TC-TOT-005 — Прогнозный итог при частично неизвестных суммах скрыт, при полной известности — показан по валютам
**Verifies:** `brokerage-account-upcoming-events` — `All-accounts upcoming event group shows each event and a forecast total` (new combination)
**Risk / Priority:** Средний / High
**Preconditions:** Режим «Все счета», «Будущие события».
**Test Data:** Два соседних дня: день 1 — купоны X на двух счетах по 100 RUB (обе суммы известны); день 2 — купоны X на двух счетах, у одной суммы нет.
**Steps:**
1. Открыть «Будущие события».
**Expected Results:** Группа дня 1: итог +200 RUB. Группа дня 2: итог скрыт, строка без суммы обозначена как неизвестная. Итоги списком не сводятся.
**Automation Candidate:** yes (E2E)