# Plano de testes — `PR-4` Ranking da rodada, separado do geral

**Story:** `docs/stories/PR-4-ranking-da-rodada.md`

Existe porque quem foi bem na rodada e mal no campeonato precisa ver as duas
coisas. O risco número um é **confundir os dois rankings**: comemorar a liderança
da rodada achando que é a do bolão. O número dois é ler um ranking parcial como
final.

| ID | Título | Tipo | Prioridade |
| -- | ------ | ---- | ---------- |
| PR-4-01 | Ordena pelos pontos daquela rodada apenas | caminho feliz | alta |
| PR-4-02 | Fica claro que é da rodada, não o geral | UI | alta |
| PR-4-03 | Dá para escolher rodada anterior | UI | alta |
| PR-4-04 | Rodada parcial é sinalizada como parcial | regra de negócio | alta |
| PR-4-05 | Quantos jogos foram apurados aparece | UI | alta |
| PR-4-06 | Rodada sem nenhum jogo apurado tem mensagem útil | UI | alta |
| PR-4-07 | Autorização igual à do geral | autorização | alta |
| PR-4-08 | Paginação com a mesma regra do geral | borda | média |
| PR-4-09 | O seletor cobre só o intervalo do bolão | UI | média |
| PR-4-10 | Custo não cresce com o número de participantes | eficiência | média |

---

### PR-4-01 — Ordena pelos pontos daquela rodada apenas
**Tipo:** caminho feliz · **Prioridade:** alta
**Resultado esperado:** soma só da rodada pedida — quem lidera o geral pode
aparecer em último aqui, e é o objetivo da story.

### PR-4-02 — Fica claro que é da rodada, não o geral
**Tipo:** UI · **Prioridade:** alta
**Resultado esperado:** as duas visões separadas e rotuladas na mesma tela, sem
ambiguidade sobre qual está aberta.

### PR-4-03 — Dá para escolher rodada anterior
**Tipo:** UI · **Prioridade:** alta

### PR-4-04 — Rodada parcial é sinalizada como parcial
**Tipo:** regra de negócio · **Prioridade:** alta
**Resultado esperado:** `partial: true` enquanto faltar jogo apurado. Ranking
parcial parecendo final gera comemoração — e briga na sequência.

### PR-4-05 — Quantos jogos foram apurados aparece
**Tipo:** UI · **Prioridade:** alta
**Resultado esperado:** "x de y jogos apurados". "Parcial" sem número não diz se
falta um jogo ou nove.

### PR-4-06 — Rodada sem nenhum jogo apurado tem mensagem útil
**Tipo:** UI · **Prioridade:** alta
**Resultado esperado:** texto explicando, não lista de zeros sem contexto.

### PR-4-07 — Autorização igual à do geral
**Tipo:** autorização · **Prioridade:** alta
**Resultado esperado:** 403 para quem não participa. Regra diferente por rota é
como um vazamento aparece.

### PR-4-08 — Paginação com a mesma regra do geral
**Tipo:** borda · **Prioridade:** média
**Resultado esperado:** `limit=0` recusado aqui também. Paginação com regra
diferente por rota é inconsistência que o app descobre na tela.

### PR-4-09 — O seletor cobre só o intervalo do bolão
**Tipo:** UI · **Prioridade:** média
**Resultado esperado:** as rodadas do bolão, nem mais nem menos — oferecer rodada
fora do escopo levaria a uma tela sempre vazia.

### PR-4-10 — Custo não cresce com o número de participantes
**Tipo:** eficiência · **Prioridade:** média
**Resultado esperado:** o número de consultas ao banco é o mesmo com 3 e com 60
participantes. Asserir o **resultado** não pega N+1 — a lista sai igual, só mais
devagar, e em bolão de empresa isso é a diferença entre abrir a tela e desistir
dela.
