Código:
var cartModule = (function() { checkOverbook: function(skip) { return new Promise(function(resolve, reject) { if (skip) { addItemPromiseResolver = resolve; } else { resolve({"continue_add":true}) } }) }, })(); Me gustaría probar que cuando se llama a cartModule.checkOverbook con skip = true , la promesa se resuelve, pero que cuando se llama con skip = false no se resuelve. ¿Es esto posible/recomendado, o debería simplemente probar esto en el contexto de la función de consumo?
Creo que es posible, podrías hacer algo así:
it('resolves if skip is false', async () => { const skip = false; await expectAsync(cartModule.checkOverbook(skip)).toBeResolvedTo({ 'continue_add': true }); }); it('changes addItemPromiseResolver to resolve if skip is true', () => { expect(addItemPromiseResolver).toBeUndefined(); const skip = true; // just call the function cartModule.checkOverbook(skip); expect(addItemPromiseResolver).not.toBeUndefined(); });