Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

314
Vistas
how to mock firebase .auth().currentUser in .test.js

I want to test the following function

export async function getIdToken() {
  const currentUser = firebase.auth().currentUser;
  if (currentUser) {
    return currentUser.getIdToken();
  } else {
    return undefined;
  }
}

export async function getSomethingViaHTTPS() {
  const idToken = await getIdToken();
  const response = await fetch("https://someURL.com", {
    method: "GET",
    headers: { Authorization: "Bearer " + idToken }
  });
  if (response.status === 200) {
    return await response.json();
  }

  throw new Error("failed to fetch data breaches: " + response.status + ": " + (await response.text()));
}

Now I dont know how I can test it since during test the current user would be undefined. Is there a way to mock the current user? This is my test function:

describe("something via https", () => {
  const mockGetSomethingAPI = responseBody => {
    fetchMock.once(req => {
      if (req.url !== "https://someURL.com") {
        return Promise.reject({});
      }
      return Promise.resolve(JSON.stringify(responseBody));
    });
  };

  it("get something", async () => {
    mockGetSomethingAPI({ "something": "some text" });
    expect(await mockGetSomethingAPI()).toEqual({ something: "testestest" });
  });
});
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda