Oi, Luiz! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Com o que você descreveu, gostei de ver o uso de fixture
com alias, a checagem de localStorage
para obter userId
e a validação da jornada completa até o logout. Ponto de atenção: o endpoint transations
pode estar digitado diferente do esperado (transactions
). Outra melhoria: ao checar a última transação, use should('contain')
para manter o padrão de asserções do Cypress.
Uma dica interessante para o futuro é usar cy.intercept
para observar a chamada da API e sincronizar o teste com a resposta antes de validar a UI. Veja este exemplo:
// cypress/e2e/transacoes.cy.js
describe('transacoes', () => {
it('valida transacao ao carregar resposta da API', () => {
cy.intercept('GET', '**/users/*/transactions').as('getTrans');
cy.login('email@exemplo.com', 'senha123');
cy.visit('/home');
cy.getByData('select-opcoes').select('Deposito');
cy.getByData('form-input').type('150');
cy.getByData('realiza-transacao').click();
cy.wait('@getTrans')
.its('response.statusCode')
.should('eq', 200);
cy.getByData('lista-transacoes').find('li').last()
.should('contain', '150');
});
});
Este trecho intercepta a requisição, espera a resposta (cy.wait
) e depois valida a lista.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!