Olá, Cristian e Fabiano!
Em primeiro lugar, parabéns por terem notado essas diferenças e gostaria de esclarecer que a ideia dos exercícios, para além da prática, é trazer mais funcionalidades do Cypress. A ferramenta é gigantesca e é interessante explorar seus recursos.
Vamos entender juntos a dúvida sobre o uso do .should('eq', 'AdoPet') no código!
No Cypress, o comando .should('eq', 'AdoPet') é usado para fazer uma asserção, ou seja, verificar se um valor específico é igual a outro valor esperado. No seu caso, você está verificando se o título da página (cy.title()) é igual a "AdoPet".
Aqui está um exemplo prático para ilustrar melhor:
it('deve clicar no botão ‘Ver pets disponíveis para adoção”', () => {
cy.visit('https://adopet-frontend-cypress.vercel.app/');
cy.title().should('eq', 'AdoPet'); // Verifica se o título da página é 'AdoPet'
cy.contains('a', 'Ver pets disponíveis para adoção').click(); // Clica no link com o texto específico
});
Nesse trecho, o cy.title() obtém o título da página e o .should('eq', 'AdoPet') verifica se esse título é exatamente "AdoPet". Isso é diferente de selecionar elementos HTML como p ou a, que são usados para localizar e interagir com elementos específicos na página.
Para comparar, veja como você verifica a visibilidade de um parágrafo:
it('Verifica mensagem de texto', () => {
cy.contains('p', 'Quem ama adota!').should('be.visible'); // Verifica se o parágrafo com o texto específico está visível
});
Aqui, cy.contains('p', 'Quem ama adota!') localiza um parágrafo (p) que contém o texto "Quem ama adota!", e o .should('be.visible') verifica se esse parágrafo está visível na página.
Espero que isso tenha esclarecido a diferença entre usar eq para asserções e selecionar elementos HTML como p ou a. Bons estudos e continue praticando!
Espero ter ajudado e bons estudos!