Skip to content

Autenticacao - Plano de testes

Escopo

Testes do modulo de autenticacao do Contrasync, incluindo login social via OAuth 2.0 (Google, LinkedIn, Microsoft, GitHub), fluxo de primeiro acesso, completar perfil, criacao e selecao de empresa, troca de empresa e gerenciamento de tokens.

Pre-condicoes

  • Ambiente configurado com provedores OAuth (Google, LinkedIn, Microsoft, GitHub)
  • Contas de teste criadas em cada provedor OAuth
  • MSW configurado com handlers de autenticacao para testes locais
  • Navegador com popups habilitados

Cenarios de teste

Login social

#CenarioPassosResultado esperadoPrioridade
1Login com Google - sucesso1. Acessar pagina de login 2. Clicar em "Entrar com Google" 3. Popup do Google abre 4. Selecionar conta Google 5. Autorizar acessoPopup fecha, usuario redirecionado para dashboard (usuario existente) ou fluxo de primeiro acesso (usuario novo)Alta
2Login com LinkedIn - sucesso1. Acessar pagina de login 2. Clicar em "Entrar com LinkedIn" 3. Popup do LinkedIn abre 4. Inserir credenciais 5. Autorizar acessoPopup fecha, usuario autenticado e redirecionado corretamenteAlta
3Login com Microsoft - sucesso1. Acessar pagina de login 2. Clicar em "Entrar com Microsoft" 3. Popup da Microsoft abre 4. Selecionar conta 5. Autorizar acessoPopup fecha, usuario autenticado e redirecionado corretamenteAlta
4Login com GitHub - sucesso1. Acessar pagina de login 2. Clicar em "Entrar com GitHub" 3. Popup do GitHub abre 4. Autorizar aplicacaoPopup fecha, usuario autenticado e redirecionado corretamenteAlta
5Login - popup bloqueado pelo navegador1. Configurar navegador para bloquear popups 2. Acessar pagina de login 3. Clicar em qualquer botao de login socialMensagem informando que popups precisam ser habilitados ou fallback adequadoMedia
6Login - cancelar autorizacao no provedor1. Acessar pagina de login 2. Clicar em "Entrar com Google" 3. No popup, clicar em "Cancelar" ou fechar o popupUsuario permanece na pagina de login, sem erros visuais. Mensagem de feedback opcionalMedia

Fluxo de primeiro acesso

#CenarioPassosResultado esperadoPrioridade
7Primeiro acesso - fluxo completo1. Login com provedor OAuth (usuario novo) 2. Redirecionado para completar perfil 3. Preencher nome e telefone 4. Salvar perfil 5. Redirecionado para selecionar/criar empresa 6. Criar empresa com CNPJ 7. ConfirmarUsuario autenticado com perfil completo e empresa criada, redirecionado ao dashboardAlta
8Completar perfil - campos obrigatorios1. Na tela de completar perfil 2. Deixar campo "Nome" vazio 3. Clicar em "Salvar"Validacao exibida indicando que nome e obrigatorio. Formulario nao e submetidoAlta
9Completar perfil - telefone com mascara1. Na tela de completar perfil 2. Digitar telefone "11999998888"Campo formata automaticamente para "(11) 99999-8888"Media
10Completar perfil - CPF opcional valido1. Na tela de completar perfil 2. Preencher nome e telefone 3. Preencher CPF "123.456.789-09" (valido) 4. SalvarPerfil salvo com sucesso incluindo CPFMedia
11Completar perfil - CPF invalido1. Na tela de completar perfil 2. Preencher CPF "111.111.111-11" (invalido) 3. Clicar em "Salvar"Validacao exibida indicando CPF invalidoMedia

Criacao de empresa

#CenarioPassosResultado esperadoPrioridade
12Criar empresa - com representante legal1. Na tela de criar empresa 2. Preencher CNPJ valido 3. Preencher dados da empresa 4. Marcar checkbox "Sou representante legal" 5. ConfirmarEmpresa criada com usuario marcado como representante legalAlta
13Criar empresa - sem representante legal1. Na tela de criar empresa 2. Preencher CNPJ valido 3. Preencher dados da empresa 4. Deixar checkbox "Sou representante legal" desmarcado 5. ConfirmarEmpresa criada com usuario sem flag de representante legalAlta
14Criar empresa - CNPJ invalido1. Na tela de criar empresa 2. Preencher CNPJ "11.111.111/1111-11" (invalido) 3. Tentar confirmarValidacao exibida indicando CNPJ invalido. Formulario nao e submetidoAlta
15Criar empresa - CNPJ com mascara1. Na tela de criar empresa 2. Digitar CNPJ "12345678000199"Campo formata automaticamente para "12.345.678/0001-99"Media

Selecao e troca de empresa

#CenarioPassosResultado esperadoPrioridade
16Selecionar empresa - lista de empresas1. Login com usuario que possui multiplas empresas 2. Na tela de selecao de empresaLista exibe todas as empresas do usuario com nome e CNPJAlta
17Selecionar empresa - sem chamada API1. Na tela de selecao de empresa 2. Clicar em uma empresa 3. Observar aba de rede do navegadorSelecao acontece localmente sem chamada ao backend. Redirecionamento para dashboardAlta
18Trocar empresa - via menu1. Estar logado com empresa A selecionada 2. Acessar menu de troca de empresa 3. Selecionar empresa BContexto muda para empresa B. Dashboard atualiza com dados da empresa BAlta

Gerenciamento de tokens

#CenarioPassosResultado esperadoPrioridade
19Token expirado - refresh automatico1. Estar logado 2. Aguardar token expirar 3. Realizar qualquer acao na plataformaToken e renovado automaticamente. Acao do usuario e completada sem interrupcaoAlta
20Token expirado - refresh falha1. Estar logado 2. Simular falha no refresh token (MSW retorna 401) 3. Realizar qualquer acaoUsuario e redirecionado para tela de login com mensagem informativaAlta

Cenarios negativos

#CenarioPassosResultado esperado
1Codigo OAuth invalidoSimular retorno com codigo invalido do provedor OAuthMensagem de erro exibida. Usuario permanece na tela de login
2Token expirado no callbackSimular demora no callback apos autorizacao OAuthMensagem de erro informando que a sessao expirou. Opcao de tentar novamente
3Falha de rede durante loginDesabilitar conexao de rede durante processo de loginMensagem de erro de conexao. Opcao de tentar novamente
4API retorna erro 500 no loginMSW retorna status 500 no endpoint de loginMensagem generica de erro. Usuario pode tentar novamente
5Submissao dupla de formularioClicar rapidamente duas vezes no botao de salvar perfilApenas uma requisicao e enviada. Botao desabilitado apos primeiro clique

Casos extremos

#CenarioResultado esperado
1Usuario sem nenhuma empresa associadaApos completar perfil, tela de criar empresa e exibida diretamente
2Usuario com 10+ empresasLista de selecao exibe todas as empresas, com scroll se necessario
3Nome com caracteres especiais (acentos, cedilha)Nome salvo corretamente com todos os caracteres especiais
4Telefone com formato internacionalSistema aceita ou informa formato esperado
5Login simultaneo em duas abasAmbas as abas refletem o estado de login corretamente
6Fechar navegador durante fluxo de primeiro acesso e reabrirUsuario retorna ao ponto correto do fluxo ou reinicia do login

Criterios de aceite

  • [ ] Login funciona com todos os 4 provedores OAuth (Google, LinkedIn, Microsoft, GitHub)
  • [ ] Popup abre e fecha corretamente em todos os navegadores suportados
  • [ ] Fluxo de primeiro acesso completo funciona sem erros
  • [ ] Validacoes de CPF e CNPJ rejeitam valores invalidos
  • [ ] Mascaras de telefone e CNPJ formatam corretamente
  • [ ] Selecao de empresa acontece localmente sem chamada API
  • [ ] Troca de empresa atualiza todo o contexto da aplicacao
  • [ ] Token e renovado automaticamente quando expira
  • [ ] Erros de autenticacao exibem mensagens claras ao usuario
  • [ ] Nenhum dado sensivel exposto no console ou rede