You've already forked matrix-react-sdk
mirror of
https://github.com/matrix-org/matrix-react-sdk.git
synced 2025-08-07 21:23:00 +03:00
Focus trap in poll creation dialog (#7847)
* add autofocus Signed-off-by: Kerry Archibald <kerrya@element.io> * test Signed-off-by: Kerry Archibald <kerrya@element.io> * scope ids Signed-off-by: Kerry Archibald <kerrya@element.io> * whitespace Signed-off-by: Kerry Archibald <kerrya@element.io>
This commit is contained in:
@@ -33,6 +33,9 @@ const realDateToISOString = Date.prototype.toISOString;
|
||||
Date.now = jest.fn(() => 2345678901234);
|
||||
// eslint-disable-next-line no-extend-native
|
||||
Date.prototype.toISOString = jest.fn(() => "2021-11-23T14:35:14.240Z");
|
||||
|
||||
const findById = (component, id) => component.find(`[id="${id}"]`);
|
||||
|
||||
afterAll(() => {
|
||||
Date.now = realDateNow;
|
||||
// eslint-disable-next-line no-extend-native
|
||||
@@ -47,6 +50,26 @@ describe("PollCreateDialog", () => {
|
||||
expect(dialog.html()).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("autofocuses the poll topic on mount", () => {
|
||||
const dialog = mount(
|
||||
<PollCreateDialog room={createRoom()} onFinished={jest.fn()} />,
|
||||
);
|
||||
expect(findById(dialog, 'poll-topic-input').at(0).props().autoFocus).toEqual(true);
|
||||
});
|
||||
|
||||
it("autofocuses the new poll option field after clicking add option button", () => {
|
||||
const dialog = mount(
|
||||
<PollCreateDialog room={createRoom()} onFinished={jest.fn()} />,
|
||||
);
|
||||
expect(findById(dialog, 'poll-topic-input').at(0).props().autoFocus).toEqual(true);
|
||||
|
||||
dialog.find("div.mx_PollCreateDialog_addOption").simulate("click");
|
||||
|
||||
expect(findById(dialog, 'poll-topic-input').at(0).props().autoFocus).toEqual(false);
|
||||
expect(findById(dialog, 'pollcreate_option_1').at(0).props().autoFocus).toEqual(false);
|
||||
expect(findById(dialog, 'pollcreate_option_2').at(0).props().autoFocus).toEqual(true);
|
||||
});
|
||||
|
||||
it("renders a question and some options", () => {
|
||||
const dialog = mount(
|
||||
<PollCreateDialog room={createRoom()} onFinished={jest.fn()} />,
|
||||
|
Reference in New Issue
Block a user