Me gustaría crear una prueba con Jest para asegurarme de que haya una declaración if en mi código. Digamos que tenemos una función que recibe una cadena y necesito verificar si esta cadena incluye algo, si hay otra función, de lo contrario simplemente ignórela.
function create (str) { if (str.includes('something')) { otherFunction() } ... } Entonces, no solo quiero asegurarme de que haya una declaración if, también quiero que la cadena "calling" includes sea str . Sé que puedo usar String.prototype pero no se asegura de que la cadena que "llama" includes sea str , cualquier otra cadena que llame a la misma función pase la prueba
Lo que tengo hasta ahora:
test('Should call otherFunction if str includes something', () => { const { sut, otherObj } = makeSut() const otherFunctionSpy = jest.spyOn(otherObj, 'otherFunction') const includesSpy = jest.spyOn(String.prototype, 'includes') sut.create('has_something') expect(includesSpy).toHaveBeenCalledWith('something') expect(otherFunctionSpy).toHaveBeenCalled() })