TDD — Reset de senha (LoginPage)
Status
Implementado
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)
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
- Firebase Auth:
sendPasswordResetEmail(email) - Sem endpoint HTTP próprio
Fluxo
- 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
frontend/lib/presentation/pages/login/login_page.dartfrontend/lib/application/use_cases/send_password_reset_email.dart