Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Tem algo de errado?

Arquivo command.js

Cypress.Commands.add('login', (nome, senha ) => { 
    cy.get('[data-test="loginUserName"]').type(nome);
    cy.get('[data-test="loginPassword"]').type(senha);
    cy.contains('button', 'login').click();
    cy.contains('a', '(Logout)').should('be.visible');
 })

Arquivo login.incorreto.cy.js

describe('Login Page', () => {
    beforeEach(() => {
        cy.visit('https://3076-cypress-alurapic-front.vercel.app/#/home');
        cy.intercept('POST', 'https://alurapic-api.onrender.com/user/login', {
            statusCode: 400
        }).as('stubPost');
    })

    it('Verifica mensagens de campos obrigatórios na página de login', () => {
        cy.contains('User name is required!').should('be.visible');
        cy.contains('Password is required!').should('be.visible');
    })

    it('Deve falhar mesmo que os campos sejam preenchidos corretamente', () => {
        cy.login('catarinap', 'catarina123')
            cy.await('@stubPost')
    })
})

Sim, estou usando o usuário e senha dela porque simplesmente funciona.

Está dando erro no teste, dizendo que cy.await is not a function. Pra funcionar eu tive que alterar a função de login removendo a linha

cy.contains('a', '(Logout)').should('be.visible');

É isso mesmo?

3 respostas

Olá, Samir! Tudo bem?

Analisando o código que você compartilhou, pude perceber o que estava gerando esse erro, o método utilizado pela instrutora é wait e não await, por isso o erro de "await is not a function", então, alterando o método para wait deve resolver o seu problema.

Aqui está como ficaria o seu teste com essa alteração:

it('Deve falhar mesmo que os campos sejam preenchidos corretamente', () => {
    cy.login('catarinap', 'catarina123');
    cy.wait('@stubPost');
})

Espero ter ajudado! Se tiver mais alguma dúvida, estarei à disposição.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Oi Armano, tudo joia! Então, na aula transcrita está await por isso, mas de toda forma não estava funcionando. Aí usando o wait eu tive que remover a linha que eu falei acima, do arquivo command.js.

Para encerrar, poderiam corrigir no texto onde está escrito await, e também informar que para funcionar tem que modificar o arquivo command.js.

Obrigado!

solução!

Opa Samir, como vai?

Gostaria de informar que, com base no seu tópico, contatei com o pessoal responsável sobre o conteúdo e foi feita a atualização a transcrição da Aula alterando o nome do método de await para wait.

Bons estudos!