MSW do not intercept GraphQL requests

Viewed 411

I've tried every possible solution described on the internet, but nothing seems to help.

I created a mock server and am trying to intercept a GraphQL call:

./setup/setup-server.ts

const handlers = [
graphql.query<GetOperation, GetOperationVariables>(
    'GetOperation'
    (req, res, ctx) => {
      // Nothing showing in console
      console.log(req.variables);
      return res(
        ctx.data({
          operation: [] // mocked operation
        })
      );
    }
  ),
]

./graphql/use-get-operation.ts

export const GET_OPERATION_BY_ID_DEFAULT = gql`
  query GetOperation($idOrContractNumber: String!) {
    operation(input: { idOrContractNumber: $idOrContractNumber }) {
      id
      modality
      totaltaxes
      exchangeRate
    }
  }
`;

The call is not intercepted.

I've already tried:

  • Import jest-fetch-mock in the configuration file;
  • Start the server in setupFiles.js (as exemplified in the documentation);
  • Start the server in the file directly in the test;
  • Use regex instead of string in the operation name;

Nothing seems to work.

I tried to create both queries and mutations and it didn't work.

MSW version used: 0.33.0

0 Answers
Related