Es un poco como en la pelicula Origen (Inseption). Necesitas testear una clase, que instancia otra clase peor no la pasa por injección y la necesitas mockear, tiene una fácil solución pero me llevo un tiempo encontrarla.
// A.ts
import { B } from './B';
export class A {
metodoDeA(): string {
const b = new B();
return b.metodoB();
}
}
// B.ts
export class B {
metodoB(): string {
return 'original';
}
}
// Test Jest
const sut = new A();
it('Happy path', async () => {
const mockMetodoDeB = jest.fn();
mockMetodoDeB.mockResolvedValueOnce('mock');
B.prototype.mockMetodoDeB = mockMetodoDeB;
await expect(sut.metodoDeA()).toBe('mock');
});
Deja una respuesta