Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Cypress, set a token in localStorage before test

I want to login and set a localStorage token on the client (specifically jwt)

How can I accomplish this using cy.request, as suggested in the Cypress Documentation?

like image 952
bkucera Avatar asked Jun 12 '18 15:06

bkucera


1 Answers

Here's an example of adding a command cy.login() that you can use in any Cypress test, or put in a beforeEach hook.

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)   })  }) 

Then in your test:

beforeEach(() => {   cy.login() }) 
like image 164
bkucera Avatar answered Sep 23 '22 17:09

bkucera