Files
specs/openspec/changes/group-account-rows-by-instrument/test-cases/pagination.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

4.9 KiB

Test Cases — pagination

TC-PAG-001 — Группа, разрезанная границей страницы журнала: конкретное содержимое страниц и переходы

Verifies: brokerage-account-ledger — All-accounts ledger grouping preserves order and limits / Scenario: Группа на границе страницы (new combination: конкретное содержимое страниц, next/prev) Risk / Priority: Высокий / High Preconditions: Режим «Все счета»; полный период; тестовые данные строятся вокруг фактического размера страницы N, который возвращает сервер (фиксируется в момент прогона). Test Data: Серверный порядок: p1..p5 (прочие записи), X1 (купон X, +100 RUB), X2 (купон X, +150 RUB), X3 (купон X, +50 RUB), p9..p12. Размер страницы N — как у сервера; данные готовятся так, чтобы X1 был последней записью страницы 1, а X2, X3 — началом страницы 2. Steps:

  1. Открыть страницу 1 журнала; зафиксировать состав.
  2. Перейти на страницу 2.
  3. Вернуться на страницу 1. Expected Results: Страница 1 заканчивается записью X1 как обычной строкой: группы нет (для группы нужно ≥2 показанных записей), итог не показывается. Страница 2 начинается группой X2+X3 (итог +200 RUB, разбивка X2/X3), затем p9…. Возврат на страницу 1 воспроизводит тот же состав. Серверный относительный порядок нигде не нарушен; записи одной группы не «стягиваются» через границу страницы. Automation Candidate: yes (E2E)

TC-PAG-002 — Обзор «Все счета»: пять записей, шестая подходящая существует, но не показана

Verifies: brokerage-account-ledger — Account overview includes recent ledger events / Scenario: Отображение последних событий (new combination: группа на границе лимита 5) Risk / Priority: Высокий / High Preconditions: Обзор «Все счета». Test Data: Последние 6 записей в серверном порядке (свежая → старая): X1 (купон X, ИИС, +100 RUB), p2, p3, p4, p5, X0 (купон X, Брокерский, +200 RUB — шестая, за пределами выборки). X1 и X0 приходятся на один и тот же экранный день и один точный тип — по ключу они образовали бы группу, но X0 не входит в выборку обзора. Steps:

  1. Открыть обзор «Все счета».
  2. Перейти в полный журнал. Expected Results: В обзоре ровно 5 записей; X1 не образует группу (второй записи с тем же ключом в выборке нет) и показан отдельной строкой; X0 в обзоре отсутствует. Полный журнал показывает группу X0+X1 с итогом +300 RUB на месте своей первой записи. Automation Candidate: yes (E2E)

TC-PAG-003 — Обзор «Все счета»: лимит 5 считается по записям, группа занимает одну визуальную позицию

Verifies: brokerage-account-ledger — Account overview includes recent ledger events / Scenario: Группировка в последних записях обзора (new combination: счётчик лимита) Risk / Priority: Средний / Medium Preconditions: Обзор «Все счета». Test Data: Последние записи (свежая → старая): p1, X1 (купон X, +100 RUB), X0 (купон X, +200 RUB, тот же экранный день и точный тип), p4, p5, p6. Steps:

  1. Открыть обзор «Все счета».
  2. Посчитать визуальные позиции и проверить отсутствие p6. Expected Results: Лимит 5 считается по записям: показаны записи p1, X1, X0, p4, p5 — это 4 визуальные позиции: p1, группа X (на месте X1, итог +300 RUB, разбивка X1/X0), p4, p5. Запись p6 не показана: она шестая по счётчику записей, свободной позиции от лимита нет. Automation Candidate: yes (E2E)