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

316
Visualizações
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 à 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