@graphql-mocks/sinon
Version:
Mock using graphql-mocks with sinon spy
25 lines (23 loc) • 1 kB
JavaScript
;
var sinon = require('sinon');
var resolver = require('graphql-mocks/resolver');
const spyWrapper = resolver.createWrapper('spy-wrapper', resolver.WrapperFor.FIELD, async function spyWrappercreate(originalResolver, wrapperDetails) {
var _packState$spies, _packState$spies$type;
const {
type,
field
} = wrapperDetails;
if (!type || !field) {
return originalResolver;
}
const typeName = type.name;
const fieldName = field.name;
const packState = wrapperDetails.packOptions.state;
const resolverSpy = sinon.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;
});
exports.spyWrapper = spyWrapper;
//# sourceMappingURL=spy-wrapper.js.map