From b8eb008dd5927fb736e56699637f5f8549965eae Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Wed, 6 Dec 2023 18:20:54 +0100 Subject: refactor(hooks): replace useGithubApi with useGithubRepoMeta * use GraphQL API instead of REST (the inconvenient however is that we now need an authorization token...) * move fetcher in services * add tests * mock response using MSW --- tests/msw/handlers/posts/post.handler.ts | 33 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'tests/msw/handlers/posts/post.handler.ts') diff --git a/tests/msw/handlers/posts/post.handler.ts b/tests/msw/handlers/posts/post.handler.ts index 4abdfed..72f7b95 100644 --- a/tests/msw/handlers/posts/post.handler.ts +++ b/tests/msw/handlers/posts/post.handler.ts @@ -1,21 +1,22 @@ -import { type ExecutionResult, graphql as executeGraphql } from 'graphql'; -import { HttpResponse, graphql } from 'msw'; +import { type ExecutionResult, graphql } from 'graphql'; +import { HttpResponse } from 'msw'; import type { PostResponse } from '../../../../src/services/graphql'; import { wpPostsFixture } from '../../../fixtures'; +import { wordpressAPI } from '../../instances'; import { schema } from '../../schema'; -export const postHandler = graphql.query>( - 'Post', - async ({ query, variables }) => { - const { data, errors } = (await executeGraphql({ - schema, - source: query, - variableValues: variables, - rootValue: { - post: wpPostsFixture.find((wpPost) => wpPost.slug === variables.slug), - }, - })) as ExecutionResult; +export const postHandler = wordpressAPI.query< + PostResponse, + Record<'slug', string> +>('Post', async ({ query, variables }) => { + const { data, errors } = (await graphql({ + schema, + source: query, + variableValues: variables, + rootValue: { + post: wpPostsFixture.find((wpPost) => wpPost.slug === variables.slug), + }, + })) as ExecutionResult; - return HttpResponse.json({ data, errors }); - } -); + return HttpResponse.json({ data, errors }); +}); -- cgit v1.2.3