web-dev-qa-db-fra.com

Dans Cypress, définissez un jeton dans localStorage avant le test.

Je souhaite me connecter et définir un jeton localStorage sur le client (plus précisément jwt )

Comment puis-je accomplir cela en utilisant cy.request, comme suggéré dans la documentation de Cypress?

22
bkucera

Voici un exemple d’ajout d’une commande cy.login() que vous pouvez utiliser dans n’importe quel test Cypress ou que vous pouvez placer dans un hook beforeEach.

Cypress.Commands.add('login', () => { 
  cy.request({
    method: 'POST',
    url: 'http://localhost:3000/api/users/login',
    body: {
      user: {
        email: '[email protected]',
        password: 'jakejake',
      }
    }
  })
  .then((resp) => {
    window.localStorage.setItem('jwt', resp.body.user.token)
  })

})

Puis dans votre test:

beforeEach(() => {
  cy.login()
})
35
bkucera