Tengo un método Authorizer#getToken que devuelve un token. La primera vez que recibe una llamada, se autentica publicando en una API; cada llamada a partir de entonces devuelve el token que se recibió de la llamada a la API. Necesito probar que el método privado que accede a la API no se llama (a través #authenticate ) cuando ya existe un token. #sessionIsValid es la función que busca un token existente. Aquí está mi prueba:
it('does not authenticate', async () => { authorizer['sessionIsValid'] = jest.fn(() => true); await authorizer.getToken(); expect(authorizer['authenticate']).not.toHaveBeenCalled(); });Jest se queja con
Matcher error: received value must be a mock or spy function jest.spyOn(authorizer, 'authenticate') pero obtener Argument of type '"authenticate"' is not assignable to parameter of type '"getToken"' .
No puedo conectar los puntos aquí. ¿Alguna idea sobre cómo lograr esto?