Skip to content
Commit ab6b156a authored by Igor Matheus's avatar Igor Matheus
Browse files

AC-4: o envio da recuperação de senha, e o caso que decide a story



257 testes de widget, 332 no Firebase, 5 em device. 9 dos 12 casos do plano
executados; os três que faltam estão nomeados, não escondidos.

O caso que decide não é o caminho feliz

É o AC-4-02: e-mail sem conta responde igual a e-mail com conta. Ele é difícil
porque os dois ambientes discordam — em produção, com a proteção de enumeração
ligada, o Auth devolve sucesso para e-mail inexistente; no emulador devolve
user-not-found. Repassar o erro faria a tela dizer "não achei esse e-mail" em
desenvolvimento sempre e em produção nunca: o primeiro é vazamento, o segundo é
comportamento que ninguém testou. O repositório engole user-not-found e
invalid-email, e o caso em device existe para proteger esse engolir.

Dois casos inverteram, e os dois eram bons testes

AC-2-09 ("não oferece esqueci minha senha") e AC-1-11 ("avisa que não há
recuperação") protegiam a decisão de 03/08 de não prometer o que não existia.
Quando a funcionalidade chegou, o que eles protegiam virou mentira e eles
falharam — que é exatamente o trabalho deles. Reescritos com o motivo da inversão
no comentário, como o MG-2-07.

Um defeito de tela: o botão ficava girando enquanto o diálogo estava aberto,
porque o estado de "enviando" só caía no finally. A tela nunca assentava e o
indicador mentia — o envio já tinha terminado.

Três tasks ficam abertas de propósito. BE-1 e BE-2 são clique de console, e marcar
como feito o que não cliquei seria mentir no controle. E a FE-4 mudou de natureza:
ela supunha tela de troca de senha nossa, mas o link abre página hospedada pelo
Firebase — a decisão que resta é de produto, aceitar a página dele ou hospedar a
nossa, e um checkbox esconderia essa escolha.

Co-Authored-By: default avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
parent 5fae0c5b
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment