TDD — Reset de senha (LoginPage)
Status
Section titled “Status”Implementado
Contexto
Section titled “Contexto”Fluxo “Esqueci minha senha” no LoginPage. Diálogo para informar email; envia link de recuperação via Firebase Auth.
Interface de Usuário (UI)
Section titled “Interface de Usuário (UI)”Diálogo exibido dentro da LoginPage ao clicar em “Esqueci minha senha”.
Componentes e organização:
- Título — “Recuperar senha” ou similar
- Campo Email — TextField para o email cadastrado
- Botão Enviar — dispara
sendPasswordResetEmail; loading durante envio - Botão Fechar/Cancelar — fecha o diálogo
Observação: Após sucesso, exibir mensagem confirmando que o link foi enviado; o link abre no navegador para redefinição fora do app.
Contratos
Section titled “Contratos”- Firebase Auth:
sendPasswordResetEmail(email) - Sem endpoint HTTP próprio
- Usuário clica em “Esqueci minha senha”
- Diálogo solicita email
SendPasswordResetEmailUseCase.execute(email)- Firebase envia email com link de recuperação
- Usuário redefine senha no fluxo Firebase e retorna ao app
Código de referência
Section titled “Código de referência”frontend/lib/presentation/pages/login/login_page.dartfrontend/lib/application/use_cases/send_password_reset_email.dart