SpyOn exportado individualmente funções ES6

tl; dr:

eu usoJasmim;Eu quero testaraaa função que chamoubbb do mesmo módulo;Eu quero espionarbbb, mas eventualmenteaaa chamou o originalbbb função, não um espião;

Como posso forçaraaa chamar o espião?

O módulo:

export function aaa() {
  return bbb();
}

export function bbb() {
  return 222;
}

O teste:

import * as util from 'my-module';

describe('aaa test', () => {

  let bbbSpy: Spy;

  beforeEach(() => {
    bbbSpy = spyOn(util, 'bbb');
  });

  it('should return SPYED', () => {
    bbbSpy.and.returnValue('SPYED!!');
    const result = util.aaa();
    expect(result).toEqual('SPYED!!'); // Doesn't work - still 222
  });

});

Então, basicamente isso não funciona. Alguém pode me ajudar por favor?

P.S. Não quero alterar o código do módulo, porque nesse caso terei que alterar toneladas de código no projeto. Eu preciso de uma solução geral para testes.

questionAnswers(2)

yourAnswerToTheQuestion