Больше никаких насмешливых ответов на запрос: мутация

#reactjs #graphql #react-testing-library

Вопрос:

Я видел несколько очень похожих вопросов, но ни один из них не имел подходящего для меня решения

У меня есть компонент React Graphql, который возвращает следующую ошибку

введите описание изображения здесь

мой тест выглядит так

 it('Should created provider when click in btn success', async () => {
    jest
      .spyOn(require('next/router'), 'useRouter')
      .mockImplementation(() => ({
        route: '/providers',
        pathname: '',
        query: { id: '' },
        asPath: '',
        push: jest.fn(),
      }));

    const wrapper = renderProviderCreateOrEdit({
      mockStoreProvider: mockStore(),
      mocksByAction: mockCreate,
    });

    await act(async () => {
      await new Promise((resolve) =>
        setTimeout(resolve, 1000)
      );
    });

    userEvent.click(
      wrapper.getByTestId('btn-createOrEditProvider')
    );

    console.log(wrapper.container.innerHTML);
  });
 

Ошибка возвращается ко мне в следующем тесте, что приводит к сбою теста.

Примечание: Если я удалю этот тест выше, тест ниже пройдет

 it('Should show error in provider', async () => {
    mockByEdit();

    const wrapper = renderProviderCreateOrEdit({
      mockStoreProvider: mockStore(),
      mocksByAction: mockError,
    });

    await act(async () => {
      await new Promise((resolve) =>
        setTimeout(resolve, 1000)
      );
    });

    expect(
      wrapper.getByTestId('container-error-data')
    ).toBeInTheDocument();
  });
 

Below is an example of my render

 function renderProviderCreateOrEdit({
  mockStoreProvider,
  mocksByAction,
}: providerProps) {
  return render(
    <Provider store={mockStoreProvider}>
      <MockedProvider
        mocks={mocksByAction}
        addTypename={false}
      >
        <CreateOrEditProvider />
      </MockedProvider>
    </Provider>
  );
}
 

Please help me, I’ve done a lot of research, tried various solutions, including clearing the cache of mocks before each test

I also tried solutions like __typename