web-dev-qa-db-ja.com

サイプレスでは、テストの前にlocalStorageにトークンを設定します

ログインして、クライアントでlocalStorageトークンを設定したい(具体的には jwt

サイプレスのドキュメントで提案されているように、cy.requestを使用してこれを達成するにはどうすればよいですか?

22
bkucera

以下に、Cypressテストで使用できるcy.login()コマンド、または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)
  })

})

次に、テストで:

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