TDD — Registro (RegisterPage)
Status
Implementado
Contexto
Tela de registro. Fluxo de signup por email (start → verify → resend). Seleção de igreja via publicChurchesHttp.
Interface de Usuário (UI)
Tela de registro com fluxos paralelos: Signup email e Signup com Google.
Componentes e organização:
- Abas ou seções: Email (start → verify → resend) e Google
- Signup email: campos Email, Senha, Nome (opcional), Igreja (dropdown
publicChurchesHttp); botão "Enviar código"; navegação para verify e resend - Signup Google: campos Nome e Igreja; botão "Continuar com Google"
- Link para voltar ao Login
Observação: A seleção de igreja é obrigatória para ambos os fluxos; lista de igrejas vem de publicChurchesHttp.
Contratos
emailSignupStartHttp— iniciar signup (email)emailSignupVerifyHttp— verificar códigoemailSignupResendHttp— reenviar códigopublicChurchesHttp— opções de igreja para signupregisterPendingAccount(callable) — criar conta pendente após verify
Fluxo
- Usuário informa email, igreja → start
- Recebe código por email → verify
- Se sucesso → registerPendingAccount (ou fluxo similar)
- Login e redirecionamento
Código de referência
frontend/lib/presentation/pages/login/register_page.dartfrontend/lib/application/use_cases/start_email_signup.dartfrontend/lib/application/use_cases/verify_email_signup_code.dartfrontend/lib/application/use_cases/resend_email_signup_code.dartbackend/functions/src/interfaces/http/email-signup-http-controller.tsbackend/functions/src/interfaces/http/public-churches-http-controller.ts