энзим: "^ 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);
});