Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

148
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!