1. ホーム
  2. browser

[解決済み] Cypressの場合、テスト前にlocalStorageにトークンをセットする

2022-02-11 01:17:20

質問

ログインして localStorage トークンをクライアントで使用します (具体的には jwt )

を使用してこれを実現するには、どうすればよいでしょうか。 cy.request Cypressのドキュメントで提案されているように?

どのように解決するのですか?

以下は、コマンドを追加する例です。 cy.login() を使えば、どのCypressテストでも使えるし、また 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()
})