1
0
mirror of https://github.com/element-hq/element-web.git synced 2025-08-02 07:06:40 +03:00
Files
element-web/test/unit-tests/useTopic-test.tsx
David Langley 69ee8fd96a Change License: AGPL + Element Commercial (#28856)
* Add commercial licence and update config files

* Update license in headers

* Revert "Update license in headers"

This reverts commit 7ed7949485.

* Update only spdx id

* Remove LicenseRef- from package.json

LicenseRef- no longer allowed in npm v3 package.json
This fixes the warning in the logs and failing build check.
2025-01-06 11:18:54 +00:00

61 lines
1.7 KiB
TypeScript

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
import React from "react";
import { Room } from "matrix-js-sdk/src/matrix";
import { act, render, screen } from "jest-matrix-react";
import { useTopic } from "../../src/hooks/room/useTopic";
import { mkEvent, stubClient } from "../test-utils";
import { MatrixClientPeg } from "../../src/MatrixClientPeg";
describe("useTopic", () => {
it("should display the room topic", () => {
stubClient();
const room = new Room("!TESTROOM", MatrixClientPeg.safeGet(), "@alice:example.org");
const topic = mkEvent({
type: "m.room.topic",
room: "!TESTROOM",
user: "@alice:example.org",
content: {
topic: "Test topic",
},
ts: 123,
event: true,
});
room.addLiveEvents([topic], { addToState: true });
function RoomTopic() {
const topic = useTopic(room);
return <p>{topic!.text}</p>;
}
render(<RoomTopic />);
expect(screen.queryByText("Test topic")).toBeInTheDocument();
const updatedTopic = mkEvent({
type: "m.room.topic",
room: "!TESTROOM",
user: "@alice:example.org",
content: {
topic: "New topic",
},
ts: 666,
event: true,
});
act(() => {
room.addLiveEvents([updatedTopic], { addToState: true });
});
expect(screen.queryByText("New topic")).toBeInTheDocument();
});
});