|
1 | 1 | import React from "react";
|
2 |
| -import { render, cleanup } from "react-testing-library"; |
| 2 | +import { render, cleanup, fireEvent } from "react-testing-library"; |
3 | 3 | import "jest-dom/extend-expect";
|
4 | 4 | import userEvent from "../src";
|
5 | 5 |
|
@@ -67,6 +67,31 @@ describe("userEvent.click", () => {
|
67 | 67 | expect(getByTestId("element")).toHaveProperty("checked", true);
|
68 | 68 | });
|
69 | 69 |
|
| 70 | + it('should fire the correct events for <input type="checkbox" disabled>', () => { |
| 71 | + const events = []; |
| 72 | + const eventsHandler = jest.fn(evt => events.push(evt.type)); |
| 73 | + const { getByTestId } = render( |
| 74 | + <input |
| 75 | + data-testid="element" |
| 76 | + type="checkbox" |
| 77 | + onMouseOver={eventsHandler} |
| 78 | + onMouseMove={eventsHandler} |
| 79 | + onMouseDown={eventsHandler} |
| 80 | + onFocus={eventsHandler} |
| 81 | + onMouseUp={eventsHandler} |
| 82 | + onClick={eventsHandler} |
| 83 | + onChange={eventsHandler} |
| 84 | + disabled |
| 85 | + /> |
| 86 | + ); |
| 87 | + |
| 88 | + userEvent.click(getByTestId("element")); |
| 89 | + |
| 90 | + expect(events).toEqual([]); |
| 91 | + |
| 92 | + expect(getByTestId("element")).toHaveProperty("checked", false); |
| 93 | + }); |
| 94 | + |
70 | 95 | it("should fire the correct events for <div>", () => {
|
71 | 96 | const events = [];
|
72 | 97 | const eventsHandler = jest.fn(evt => events.push(evt.type));
|
|
0 commit comments