1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-08-09 08:42:50 +03:00

Start DM on first message (#8612)

This commit is contained in:
Michael Weimann
2022-08-04 08:19:52 +02:00
committed by GitHub
parent 0e0be08781
commit ed8ccb5d80
16 changed files with 482 additions and 65 deletions

View File

@@ -26,6 +26,7 @@ import sanitizeHtml from "sanitize-html";
import SpotlightDialog, { Filter } from "../../../../src/components/views/dialogs/spotlight/SpotlightDialog";
import { MatrixClientPeg } from "../../../../src/MatrixClientPeg";
import { LocalRoom, LOCAL_ROOM_ID_PREFIX } from "../../../../src/models/LocalRoom";
import { DirectoryMember, startDmOnFirstMessage } from "../../../../src/utils/direct-messages";
import DMRoomMap from "../../../../src/utils/DMRoomMap";
import { mkRoom, stubClient } from "../../../test-utils";
@@ -346,4 +347,27 @@ describe("Spotlight Dialog", () => {
expect(options.first().text()).not.toContain(testLocalRoom.name);
});
});
it("should start a DM when clicking a person", async () => {
const wrapper = mount(
<SpotlightDialog
initialFilter={Filter.People}
initialText={testPerson.display_name}
onFinished={() => null} />,
);
await act(async () => {
await sleep(200);
});
wrapper.update();
const options = wrapper.find("div.mx_SpotlightDialog_option");
expect(options.length).toBeGreaterThanOrEqual(1);
expect(options.first().text()).toContain(testPerson.display_name);
options.first().simulate("click");
expect(startDmOnFirstMessage).toHaveBeenCalledWith(mockedClient, [new DirectoryMember(testPerson)]);
wrapper.unmount();
});
});