Передать запрос GraphQL на Apollo MockedProvider - PullRequest
0 голосов
/ 29 октября 2018

У меня есть небольшой запрос GraphQL, который я хочу смоделировать с помощью MockedProvider.

от Apollo.
export const queryType = new GraphQLObjectType({
  name: 'Query',
  fields: {
    getUsername: {
      type: GraphQLString,
      resolve: ({ session }) => {
        if (session.isLoggedIn) return session.username;
        return null;
      }
    }
  }
});

export default new GraphQLSchema({ query: queryType, mutation: mutationType });

Я пытался добавить его в массив mocks, но я не мог понять, как преобразовать этот запрос в формат, который он принимает. Мой код выглядит примерно так:

const { getUsername } = queryType.getFields();
const mocks = [
  {
    request: { query: getUsername },
    result: { data: { getUsername: 'username' } }
  }
];

const app = (
  <MockedProvider mocks={mocks}>
    <App />
  </MockedProvider>
)

Я пытался обернуть его в тег gql, но он тоже не принимает это. Как я могу смоделировать этот запрос в моих тестах?

1 Ответ

0 голосов
/ 03 апреля 2019

Вы делаете это неправильно. Сначала вы должны создать ответ на ваш запрос, подобный этому.

const addLanguageMock = {
  request: {
    query: Loaction_Query,
    variables: {
      name: 'हिंदी',
      iso_code: 'hin',
      name_in_english: 'hindi'
    }
  },
  result: {
    data: {}
  }
};

Тогда вы можете передать это так.

  const mocks = [addLanguageMock]
  <MockedProvider mocks={mocks}>
    <App />
  </MockedProvider>
...