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

150
Visualizações
Test that private method is not called when public method is called

I have an authorizer#getToken method that returns a token. The first time it gets called, it authenticates by posting to an API; each call thereafter returns the token that was received from the API call. I need to test that the private method that hits the API does not get called (via #authenticate) when a token already exists. #sessionIsValid is the function that checks for an existing token. Here's my test:

        it('does not authenticate', async () => {
            authorizer['sessionIsValid'] = jest.fn(() => true);

            await authorizer.getToken();
            expect(authorizer['authenticate']).not.toHaveBeenCalled();
        });

Jest is complaining with

    Matcher error: received value must be a mock or spy function

I've tried jest.spyOn(authorizer, 'authenticate') but get Argument of type '"authenticate"' is not assignable to parameter of type '"getToken"'.

I can't quite connect the dots here. Any thoughts on how to accomplish this?

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