Модульное тестирование Apollo, ошибка на мутации, `Ошибка!Больше не дразнят ответы на запрос: мутация - PullRequest
0 голосов
/ 20 мая 2019

Я создал модульный тест для мутации apollo с MockProvider. Ошибка выброса: ошибка! Больше не было поддельных ответов на запрос: mutation createPost ($ id: ID !, $ title: String, $ content: String, $ authorId: ID!) { createPost (id: $ id, title: $ title, content: $ content, authorId: $ authorId) { Я бы заглавие содержание автор { название } } } , переменные: {"id": "1558321438699", "title": "", "content": ""}

У меня есть созданный unitest:

const mocks = [
  {
    request: {
      query: CREATE_POST,
      variables: {
        id: '1557799396370',
        title: 'title123',
        content: 'content123',
        authorId: '1557377599679'
      }
    },
    result: {
      data: {
        createPost: {
          id: '1557799396370',
          title: 'title123',
          content: 'content123',
          author: {
            name: 'rinto'
          }
        }
      }
    }
  }
];

const props = {
  history: {
    push: jest.fn()
  },
  handleCloseModal: jest.fn()
};

describe('Test CreatePost', () => {

  it('Testing CreatePost final state:', async () => {
    const renderComponent = mount(
      <MockedProvider mocks={mocks} addTypename={false} >
        <CreatePost {...props} />
      </MockedProvider>
    );

    renderComponent.find(Form).simulate('submit', {
      preventDefault: jest.fn()
    });

    await waitForExpect(() => {

      renderComponent.update();

      console.log('renderComponent', renderComponent.debug());

      expect(renderComponent.find(Form).exists()).toBeTruthy();
    });
  });
});

мутация graphql:

export const CREATE_POST = gql`
  mutation createPost($id: ID!, $title: String, $content: String, $authorId: ID!) {
    createPost(id: $id, title: $title, content: $content, authorId: $authorId) {
      id
      title
      content
      author {
        name
      }
    }
  }
`;
...