import * as React from "react"; import { render, cleanup, Simulate } from "react-testing-library"; import List from "../components/List"; import ListItem from "./utils/ListItem"; beforeEach(cleanup); describe("List Component", () => { test("01 - component matches snapshot", () => { const list = [ { name: 'one' }, { name: 'two' }, { name: '3' }, { name: '4' }, { name: '5' }, { name: '6' }, { name: '7' }, { name: '8' }, { name: '9' }, { name: '10' }, { name: 'one' }, { name: 'two' }, { name: '3' }, { name: '4' }, { name: '5' }, { name: '6' }, { name: '7' }, { name: '8' }, { name: '9' }, { name: '10' } ]; const { container } = render( { list.map((item, i) => { return ( ); }) } ); expect(container).toMatchSnapshot(); }); test('02: List item clicked', () => { const onClick = jest.fn(); const list = [ { name: 'one' }, { name: 'two' }, { name: '3' }, { name: '4' }, { name: '5' }, { name: '6' }, { name: '7' }, { name: '8' }, { name: '9' }, { name: '10' }, { name: 'one' }, { name: 'two' }, { name: '3' }, { name: '4' }, { name: '5' }, { name: '6' }, { name: '7' }, { name: '8' }, { name: '9' }, { name: '10' } ]; const { getByTestId } = render( { list.map((item, i) => { return ( ); }) } ); Simulate.click(getByTestId('1')); expect(onClick).toHaveBeenCalled(); }) });