Фермент: wrapper.find ('SickButton'). Simulate ('click') не щелкающий - PullRequest
0 голосов
/ 16 декабря 2018

энзим: "^ 3.6.0"
фермент-адаптер-реакция-16: "^ 1.5.0"

Итак, у меня есть кнопка, определенная следующим образом, которая не нажимает:

<SickButton type="button" disabled={loading} onClick={() => { 
addToCart().catch(err => alert(err.message));
}}>
  Add{loading && 'ing'} to Cart
</SickButton>

, и я пытаюсь проверить его с помощью следующего тестового выражения:

wrapper.find ('SickButton'). Simulate ('нажмите ')

Как мне это сделать?

Мой полный тестовый код выглядит следующим образом:

  it('adds an item to cart when clicked and quantity >=1', async () => {
    let apolloClient;
    let quantity = 1;

    const wrapper = mount(
      <MockedProvider mocks={mocks}>
        <ApolloConsumer>
          {client => {
            apolloClient = client;
            return <AddToCartOrder id="abc123" quantity={quantity}/>;
          }}
        </ApolloConsumer>
      </MockedProvider>
    );
    await wait();
    wrapper.update();
    const { data: { me } } = await apolloClient.query({ query: CURRENT_USER_QUERY });
    // check the cart has no items in it
    console.log(me);
    expect(me.cart).toHaveLength(0);

    // add an item to the cart
    wrapper.find('SickButton').simulate('click');
    await wait();
    // check if the item is in the cart
    const { data: { me: me2 } } = await apolloClient.query({ query: CURRENT_USER_QUERY });
    console.log('me2 = ', me2);
    expect(me2.cart[0].id).toBe('omg123');
    expect(me2.cart[0].quantity).toBe(3);
    expect(me2.cart).toHaveLength(1);
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...