# Plano de testes — `CC-6` Ver as regras do bolão a qualquer momento

**Story:** `docs/stories/CC-6-ver-regras-do-bolao.md`

A regra é consultada **no meio de uma discussão** — e discussão não espera rede.
Daí os dois eixos de risco: a regra tem que estar disponível offline, e a regra
mostrada tem que ser a **daquele** bolão, com a idade visível quando for antiga.
Regra errada na tela é briga garantida, porque é o texto que serve de árbitro.

| ID | Título | Tipo | Prioridade |
| -- | ------ | ---- | ---------- |
| CC-6-01 | Tabela de pontos e ordem de desempate na tela | caminho feliz | alta |
| CC-6-02 | Empate não tem faixa de saldo | regra de negócio | alta |
| CC-6-03 | Regras travadas dizem que travaram | caminho feliz | alta |
| CC-6-04 | Regras abertas avisam que travam no 1º palpite | caminho feliz | alta |
| CC-6-05 | Quem não participa não lê as regras | autorização | alta |
| CC-6-06 | Participante comum não recebe a ação de editar | autorização | alta |
| CC-6-07 | Offline: regras guardadas, rotuladas com a idade | borda | alta |
| CC-6-08 | Offline sem cache: motivo e retry | borda | alta |
| CC-6-09 | Cache é por bolão, não global | segurança | alta |
| CC-6-10 | Cache velho é substituído quando a rede volta | borda | alta |
| CC-6-11 | Regras alcançáveis a partir da tela de palpite | UI | média |
| CC-6-12 | Próximo prazo junto das regras, no fuso local | caminho feliz | alta |

---

### CC-6-01 — Tabela de pontos e ordem de desempate na tela
**Tipo:** caminho feliz · **Prioridade:** alta
**Resultado esperado:** 10/5/3 (ou o que o bolão configurou) e a ordem de
desempate em texto, não em código (`EXACT_SCORES` não diz nada a ninguém).

### CC-6-02 — Empate não tem faixa de saldo
**Tipo:** regra de negócio · **Prioridade:** alta
**Resultado esperado:** a tela explica que jogo que terminou empatado não tem
faixa de saldo — quem palpitou 1x1 num 4x4 leva "só vencedor". Defeito real: a
tela prometia 5 pontos onde o cálculo dá 3.

### CC-6-03 — Regras travadas dizem que travaram
**Tipo:** caminho feliz · **Prioridade:** alta
**Resultado esperado:** estado de travamento visível, com o caminho de saída
(encerrar e abrir outro bolão) para o admin.

### CC-6-04 — Regras abertas avisam que travam no 1º palpite
**Tipo:** caminho feliz · **Prioridade:** alta
**Resultado esperado:** aviso de que o primeiro palpite trava. É o que dá ao
admin a chance de acertar a tabela antes de ser tarde.

### CC-6-05 — Quem não participa não lê as regras
**Tipo:** autorização · **Prioridade:** alta
**Resultado esperado:** 403 no servidor. A regra revela a configuração de um
bolão privado.

### CC-6-06 — Participante comum não recebe a ação de editar
**Tipo:** autorização · **Prioridade:** alta
**Resultado esperado:** sem ícone de edição (403 no servidor de todo modo).

### CC-6-07 — Offline: regras guardadas, rotuladas com a idade
**Tipo:** borda · **Prioridade:** alta
**Passos:** abrir as regras com rede; abrir de novo sem rede.
**Resultado esperado:** a tabela aparece **e** a tela diz de quando é o dado
("de 3 h atrás"). Regra destravada pode ter mudado desde então — dado velho sem
rótulo é lido como atual e vira discussão com número errado.

### CC-6-08 — Offline sem cache: motivo e retry
**Tipo:** borda · **Prioridade:** alta
**Resultado esperado:** motivo da falha e botão de tentar de novo — não uma
tabela vazia, que seria lida como "este bolão não tem regra".

### CC-6-09 — Cache é por bolão, não global
**Tipo:** segurança · **Prioridade:** alta
**Passos:** ler as regras do bolão A com rede; abrir o bolão B sem rede.
**Resultado esperado:** B **não** mostra a tabela de A. Mostrar a regra de outro
bolão é pior que não mostrar nada: o participante decide o palpite pela tabela
errada.

### CC-6-10 — Cache velho é substituído quando a rede volta
**Tipo:** borda · **Prioridade:** alta
**Resultado esperado:** com rede, a tela mostra a regra nova (sem rótulo de
idade) e o cache passa a guardar a nova. É o risco registrado na story: regra em
cache que fica velha depois de o admin alterar, antes do travamento.

### CC-6-11 — Regras alcançáveis a partir da tela de palpite
**Tipo:** UI · **Prioridade:** média
**Resultado esperado:** aba/ação de regras dentro do bolão, sem sair do fluxo de
palpite.

### CC-6-12 — Próximo prazo junto das regras, no fuso local
**Tipo:** caminho feliz · **Prioridade:** alta
**Resultado esperado:** "próximo prazo" com data/hora no fuso do aparelho. Prazo
em UTC é o erro que faz a pessoa perder o jogo por três horas.
