Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

118
Visualizações
Broma burlándose de la API y comprobando si se llama a localStorage.setItem

Me he burlado de mi API de inicio de sesión de esta manera

 const server = setupServer( rest.get(authenticationLogin, (req, res, ctx) => { return res( ctx.json({ status: 200, data: { tenantKey: 'tenant', employeeDto: { firstName: 'firstname', lastName: 'lastname', token: 'tplem', role: 'role', id: 1, userName: 'username', designation: 'designation', }, }, }), ) }), )

Y tengo una configuración de prueba como esta

 test('should redirect to / when login successful', async () => { const setItem = jest.spyOn(Storage.prototype, 'setItem') userEvent.type(renderedScreen.getByPlaceholderText('Username'), 'testing') userEvent.click(renderedScreen.getByRole('button')) await waitFor(() => { // check if setItem is called to save to localStorage expect(setItem).toHaveBeenNthCalledWith(1, 'firstname') // check if a redirect happens meaning login was successful expect(history.location.pathname).toBe('/') }) })

En el archivo del componente, la función de inicio de sesión guardará los elementos de respuesta en el almacenamiento local

 localStorage.setItem('employeeName', employeeName) localStorage.setItem('employeeId', employeeId) localStorage.setItem('userName', userName) localStorage.setItem('role', role) localStorage.setItem('tenantKey', tenantKeyFromResponse) localStorage.setItem('token', token) localStorage.setItem('designation', designation)

Pero de alguna manera estoy recibiendo este error

 expect(jest.fn()).toHaveBeenNthCalledWith(n, ...expected) n: 1 Expected: "test" Received -> 1: "test", "test" 2: "test", "test" Number of calls: 3

Ni siquiera sé de dónde vienen las cadenas 'prueba'. Estoy devolviendo diferentes valores de la API simulada.

El número de llamadas ni siquiera es correcto. Dice en el registro que solo se ha llamado 3 veces cuando en la función de inicio de sesión se llama 7 veces.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda