Arquivo: commands.js:
Cypress.Commands.add('login', (email, senha) => {
cy.get ('[data-test="input-loginEmail"]').type (email);
cy.get ('[data-test="input-loginPassword"]').type (senha);
cy.get ('[data-test="submit-button"]').click()
})
Cypress.Commands.add('cadastro', (nome, email, senha, confsenha) => {
cy.get('[data-test="input-name"]').type (nome);
cy.get ('[data-test="input-email"]').type (email);
cy.get ('[data-test="input-password"]').type (senha);
cy.get('[data-test="input-confirm-password"]').type (confsenha);
cy.get ('[data-test="submit-button"]').click()
})
arquivo cadastro:
describe('Testes na página do AdoPet', () => {
beforeEach(() => {
cy.visit('https://adopet-frontend-cypress.vercel.app/');
})
it('Cadastro de um usuário', () => {
cy.get('[data-test="register-button"]').click();
cy.cadastro('Alice Almeida','alice@email.com.br','Senha123','Senha123');
})
})
Criei também uma arquivo de login incorreto:
describe('Login na página do AdoPet incorreto', () => {
beforeEach (() => {
cy.visit('https://adopet-frontend-cypress.vercel.app/');
cy.get ('[data-test="login-button"]').click();
})
it('Não preenchendo nenhum campo', () => {
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('Preenchendo campo de email inválido', () => {
cy.login ('alice@email', 'Senha123')
cy.contains ('Por favor, verifique o email digitado').should('be.visible');
})
it('Preenchendo campo de senha inválida', () => {
cy.login('alice@email.com.br', 'Senha' )
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');
})
})