1
resposta

[Projeto] Login incorreto

**Roteiro : Funcionalidade: Login no site Adopet

Cenário: Falha no login do sistema

Passos:

O usuário acessa a página de login. O usuário insere um e-mail e senha fora do padrão aceito nos campos correspondentes. O usuário clica no botão de login.

Resultados Esperados:

O sistema valida as credenciais fornecidas. O sistema exibe mensagens de erro específicas para o e-mail e senha inseridos incorretamente, como: "Por favor, verifique o e-mail digitado" e/ou "A senha deve conter pelo menos uma letra maiúscula, um número e ter entre 6 e 15 caracteres".

Regra de Negócio:

O e-mail deve ter um formato válido. A senha deve conter pelo menos uma letra maiuscula, um número e ter entre 6 e 15 caracteres

**Código dos casos de testes:

describe('Página de login', () => {
    beforeEach(() =>{
        cy.visit('https://adopet-frontend-cypress.vercel.app/');
        cy.get('[data-test="login-button"]').click();
    })

    it('Validando as credenciais fornecidas no login', () => {
      cy.get('[data-test="submit-button"]').click();
      cy.contains('É necessário informar um endereço de email').should('be.visible');
      cy.contains('Insira sua senha').should('be.visible');
    })

    it('Validando as Regras de négocio', () => {
        cy.get('[data-test="input-loginEmail"]').type('a');
        cy.get('[data-test="input-loginPassword"]').type('senha');
        cy.get('[data-test="submit-button"]').click();
        cy.contains('Por favor, verifique o email digitado').should('be.visible');
        cy.contains('A senha deve conter pelo menos uma letra maiúscula, um número e ter entre 6 e 15 caracteres').should('be.visible');
      })
}) 

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Mateus. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Ótimo como você estruturou os testes, cobrindo tanto a validação das credenciais quanto as regras de negócio. Isso garante que o sistema retorne mensagens de erro adequadas quando os dados inseridos não forem válidos.

Um detalhe interessante é que você pode usar .each() para verificar múltiplas mensagens de erro em um único teste, tornando o código mais enxuto. Veja este exemplo:


const mensagensErro = [
  'Por favor, verifique o email digitado',
  'A senha deve conter pelo menos uma letra maiúscula, um número e ter entre 6 e 15 caracteres'
];

cy.get('[data-test="submit-button"]').click();
mensagensErro.forEach((mensagem) => {
  cy.contains(mensagem).should('be.visible');
});

Isso percorre a lista de mensagens e verifica se todas aparecem na tela.

  Alura   Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!