Olá! Acredito que implementei o teste como na aula, porém quando rodo o teste mais de uma vez ele falha pois uma vez que salvo os novosDadosDeUsuario a senha é modificada. Então quando o login é efetuado novamente os valores na fixture nao functionam mais.
it.only('Deve permitir usuario atualizar seus dados', () => {
const novoUsuario = {
nome: faker.person.fullName(),
senha: faker.internet.password(),
};
cy.fixture('usuarios').as('usuarios');
cy.get('@usuarios').then((usuario) => {
cy.login(usuario[0].email, usuario[0].senha);
cy.url().should('include', '/home');
cy.contains(usuario[0].nome).should('be.visible');
});
cy.getByData('app-home').find('a').eq(1).click();
cy.url().should('include', '/minha-conta');
cy.getByData('botao-salvar-alteracoes').should('be.disabled');
cy.get('[name="nome"]').type(novoUsuario.nome);
cy.get('[name="senha"]').type(novoUsuario.senha);
cy.getByData('botao-salvar-alteracoes').should('be.enabled');
cy.getByData('botao-salvar-alteracoes').click();
cy.on('window:alert', (textoDoAlert) => {
cy.expect(textoDoAlert).to.equal('Alterações salvas com sucesso!');
});
cy.url().should('include', '/home');
cy.window().then((win)=>{
expect(win.localStorage.getItem('nomeUsuario')).to.equal(novoUsuario.nome)
})
});
Vejo que no video o teste e rodado mais de uma vez sem problema. Como faz essa bruxaria? Valeu!