Estoy buscando ayuda para burlarme de la biblioteca BigNumber para algunas pruebas de Jest.
En mi aplicación web tengo algunos cálculos de BigNumber como:
const a = '30'; const b = '20'; const BigNA = BigNumber.from(a); const BigNB = BigNumber.from(b); const conversion = BigNumber.from(Math.pow(10, 12)); const AMinusB = BigNA.sub(BigNB); const AMinusBConversion = AMinusB.div(conversion) Lo anterior es solo un ejemplo inventado, pero refleja de cerca lo que está sucediendo en mi base de código. Ahora, para probar esto, necesito simular la biblioteca BigNumber para que siempre se devuelva con los métodos from , sub , div , gt , etc., para que se pueda realizar el siguiente cálculo de BigNumber.
En mis pruebas tengo lo siguiente:
const BigNumber: any = { from: () => BigNumber sub: () => BigNumber, gt: () => true, div: () => jest.fn(() => '10'), }; jest.mock('@ethersproject/bignumber', () => ({ BigNumber, }));También probé muchas variaciones del simulacro anterior, como:
from: () => jest.mock(() => BigNumber), from: () => ({ ...BigNumber }) Sin embargo, en todos los casos, la prueba se cuelga por completo o arroja un BigNA.sub is not a function cuando llega a las llamadas sub o div .
Sería muy apreciado si alguien tiene alguna idea o sugerencia con respecto a burlarse de esta biblioteca BigNumber, ya que estoy completamente sin ideas en este momento.