Skip to main content

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

  1. Usuário clica em "Esqueci minha senha"
  2. Diálogo solicita email
  3. SendPasswordResetEmailUseCase.execute(email)
  4. Firebase envia email com link de recuperação
  5. Usuário redefine senha no fluxo Firebase e retorna ao app

Código de referência

  • frontend/lib/presentation/pages/login/login_page.dart
  • frontend/lib/application/use_cases/send_password_reset_email.dart