@graphql-mocks/sinon
Version:
Mock using graphql-mocks with sinon spy
31 lines (30 loc) • 1.67 kB
JavaScript
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
import { spy } from 'sinon';
import { createWrapper, WrapperFor } from 'graphql-mocks/resolver';
var spyWrapper = createWrapper('spy-wrapper', WrapperFor.FIELD, /*#__PURE__*/function () {
var _spyWrappercreate = _asyncToGenerator(function* (originalResolver, wrapperDetails) {
var _packState$spies, _packState$spies$type;
var {
type,
field
} = wrapperDetails;
if (!type || !field) {
return originalResolver;
}
var typeName = type.name;
var fieldName = field.name;
var packState = wrapperDetails.packOptions.state;
var resolverSpy = spy(originalResolver);
packState.spies = (_packState$spies = packState.spies) !== null && _packState$spies !== void 0 ? _packState$spies : {};
packState.spies[typeName] = (_packState$spies$type = packState.spies[typeName]) !== null && _packState$spies$type !== void 0 ? _packState$spies$type : {};
packState.spies[typeName][fieldName] = resolverSpy;
return resolverSpy;
});
function spyWrappercreate(_x, _x2) {
return _spyWrappercreate.apply(this, arguments);
}
return spyWrappercreate;
}());
export { spyWrapper };
//# sourceMappingURL=spy-wrapper.mjs.map