From e0a6e4da07b0bde210dec5ed8a54e6a222f67b99 Mon Sep 17 00:00:00 2001 From: fzaninotto Date: Thu, 1 Jul 2021 12:57:42 +0200 Subject: [PATCH] [Demo] Improve dataProvider logging in GraphQL demo --- examples/demo/src/fakeServer/graphql.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/examples/demo/src/fakeServer/graphql.ts b/examples/demo/src/fakeServer/graphql.ts index 57f860e5c48..ccf339b8ed6 100644 --- a/examples/demo/src/fakeServer/graphql.ts +++ b/examples/demo/src/fakeServer/graphql.ts @@ -6,7 +6,24 @@ export default () => { const data = generateData({ serializeDate: false }); const restServer = JsonGraphqlServer({ data }); const handler = restServer.getHandler(); + const handlerWithLogs = (url: string, opts: any) => + handler(url, opts).then((res: any) => { + const req = JSON.parse(opts.body); + const parsedRes = JSON.parse(res.body); + console.groupCollapsed(`GraphQL ${req.operationName}`); + console.group('request'); + console.log('operationName', req.operationName); + console.log(req.query); + console.log('variables', req.variables); + console.groupEnd(); + console.group('response'); + console.log('data', parsedRes.data); + console.log('errors', parsedRes.errors); + console.groupEnd(); + console.groupEnd(); + return res; + }); - fetchMock.mock('begin:http://localhost:4000', handler); + fetchMock.mock('begin:http://localhost:4000', handlerWithLogs); return () => fetchMock.restore(); };