', () => {
- const onMouseOver = jest.fn()
- const onMouseMove = jest.fn()
- const onMouseDown = jest.fn()
- const onFocus = jest.fn()
- const onMouseUp = jest.fn()
- const onClick = jest.fn()
+ );
+
+ it('should fire the correct events for
', () => {
+ const onMouseOver = jest.fn();
+ const onMouseMove = jest.fn();
+ const onMouseDown = jest.fn();
+ const onFocus = jest.fn();
+ const onMouseUp = jest.fn();
+ const onClick = jest.fn();
+ const onChange = jest.fn();
+ const { getByTestId } = render(
+
+ );
+
+ expect(onMouseOver).not.toHaveBeenCalled();
+ expect(onMouseMove).not.toHaveBeenCalled();
+ expect(onMouseDown).not.toHaveBeenCalled();
+ expect(onFocus).not.toHaveBeenCalled();
+ expect(onMouseUp).not.toHaveBeenCalled();
+ expect(onClick).not.toHaveBeenCalled();
+ expect(onChange).not.toHaveBeenCalled();
+
+ userEvent.click(getByTestId("element"));
+
+ expect(onMouseOver).toHaveBeenCalledTimes(1);
+ expect(onMouseMove).toHaveBeenCalledTimes(1);
+ expect(onMouseDown).toHaveBeenCalledTimes(1);
+ expect(onFocus).not.toHaveBeenCalledTimes(1);
+ expect(onMouseUp).toHaveBeenCalledTimes(1);
+ expect(onClick).toHaveBeenCalledTimes(1);
+ expect(onChange).toHaveBeenCalledTimes(1);
+ expect(getByTestId("element")).toHaveProperty("checked", true);
+ });
+
+ it("should fire the correct events for
", () => {
+ const onMouseOver = jest.fn();
+ const onMouseMove = jest.fn();
+ const onMouseDown = jest.fn();
+ const onFocus = jest.fn();
+ const onMouseUp = jest.fn();
+ const onClick = jest.fn();
const { getByTestId } = render(
{
onMouseUp={onMouseUp}
onClick={onClick}
/>
- )
-
- expect(onMouseOver).not.toHaveBeenCalled()
- expect(onMouseMove).not.toHaveBeenCalled()
- expect(onMouseDown).not.toHaveBeenCalled()
- expect(onFocus).not.toHaveBeenCalled()
- expect(onMouseUp).not.toHaveBeenCalled()
- expect(onClick).not.toHaveBeenCalled()
-
- userEvent.click(getByTestId('div'))
-
- expect(onMouseOver).toHaveBeenCalledTimes(1)
- expect(onMouseMove).toHaveBeenCalledTimes(1)
- expect(onMouseDown).toHaveBeenCalledTimes(1)
- expect(onFocus).not.toHaveBeenCalled()
- expect(onMouseUp).toHaveBeenCalledTimes(1)
- expect(onClick).toHaveBeenCalledTimes(1)
- })
-
- it('toggles the focus', () => {
+ );
+
+ expect(onMouseOver).not.toHaveBeenCalled();
+ expect(onMouseMove).not.toHaveBeenCalled();
+ expect(onMouseDown).not.toHaveBeenCalled();
+ expect(onFocus).not.toHaveBeenCalled();
+ expect(onMouseUp).not.toHaveBeenCalled();
+ expect(onClick).not.toHaveBeenCalled();
+
+ userEvent.click(getByTestId("div"));
+
+ expect(onMouseOver).toHaveBeenCalledTimes(1);
+ expect(onMouseMove).toHaveBeenCalledTimes(1);
+ expect(onMouseDown).toHaveBeenCalledTimes(1);
+ expect(onFocus).not.toHaveBeenCalled();
+ expect(onMouseUp).toHaveBeenCalledTimes(1);
+ expect(onClick).toHaveBeenCalledTimes(1);
+ });
+
+ it("toggles the focus", () => {
const { getByTestId } = render(
- )
+ );
- const a = getByTestId('A')
- const b = getByTestId('B')
+ const a = getByTestId("A");
+ const b = getByTestId("B");
- expect(a).not.toHaveFocus()
- expect(b).not.toHaveFocus()
+ expect(a).not.toHaveFocus();
+ expect(b).not.toHaveFocus();
- userEvent.click(a)
- expect(a).toHaveFocus()
- expect(b).not.toHaveFocus()
+ userEvent.click(a);
+ expect(a).toHaveFocus();
+ expect(b).not.toHaveFocus();
- userEvent.click(b)
- expect(a).not.toHaveFocus()
- expect(a).not.toHaveFocus()
- })
+ userEvent.click(b);
+ expect(a).not.toHaveFocus();
+ expect(a).not.toHaveFocus();
+ });
- it.each(['input', 'textarea'])(
- 'gives focus to <%s> when clicking a