Adapt Membership usage for the change to an enum KnownMembership
This commit is contained in:
parent
da99bad7b9
commit
34559d2a89
115 changed files with 764 additions and 593 deletions
|
@ -16,6 +16,7 @@ limitations under the License.
|
|||
|
||||
import {
|
||||
IProtocol,
|
||||
KnownMembership,
|
||||
LOCAL_NOTIFICATION_SETTINGS_PREFIX,
|
||||
MatrixEvent,
|
||||
PushRuleKind,
|
||||
|
@ -102,7 +103,7 @@ function mkStubDM(roomId: string, userId: string) {
|
|||
name: "Member",
|
||||
rawDisplayName: "Member",
|
||||
roomId: roomId,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
getAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
getMxcAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
},
|
||||
|
@ -111,7 +112,7 @@ function mkStubDM(roomId: string, userId: string) {
|
|||
name: "Member",
|
||||
rawDisplayName: "Member",
|
||||
roomId: roomId,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
getAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
getMxcAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
},
|
||||
|
@ -120,7 +121,7 @@ function mkStubDM(roomId: string, userId: string) {
|
|||
name: "Bot user",
|
||||
rawDisplayName: "Bot user",
|
||||
roomId: roomId,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
getAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
getMxcAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
},
|
||||
|
|
|
@ -24,6 +24,7 @@ import {
|
|||
EventType,
|
||||
MatrixEvent,
|
||||
PendingEventOrdering,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import type { MatrixClient } from "matrix-js-sdk/src/matrix";
|
||||
|
@ -277,7 +278,7 @@ describe("RoomNotifs test", () => {
|
|||
});
|
||||
|
||||
it("indicates the user has been invited to a channel", async () => {
|
||||
room.updateMyMembership(Membership.Invite);
|
||||
room.updateMyMembership(KnownMembership.Invite);
|
||||
|
||||
const { level, symbol, count } = determineUnreadState(room);
|
||||
|
||||
|
@ -293,10 +294,10 @@ describe("RoomNotifs test", () => {
|
|||
const roomMember = mkRoomMember(
|
||||
room.roomId,
|
||||
MatrixClientPeg.get()!.getSafeUserId(),
|
||||
Membership.Leave,
|
||||
KnownMembership.Leave,
|
||||
true,
|
||||
{
|
||||
membership: Membership.Knock,
|
||||
membership: KnownMembership.Knock,
|
||||
},
|
||||
);
|
||||
jest.spyOn(room, "getMember").mockReturnValue(roomMember);
|
||||
|
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { MatrixClient, Room, RoomMember } from "matrix-js-sdk/src/matrix";
|
||||
import { KnownMembership, MatrixClient, Room, RoomMember } from "matrix-js-sdk/src/matrix";
|
||||
import { mocked } from "jest-mock";
|
||||
|
||||
import { Command, Commands, getCommand } from "../src/SlashCommands";
|
||||
|
@ -162,7 +162,7 @@ describe("SlashCommands", () => {
|
|||
it("should warn about self demotion", async () => {
|
||||
setCurrentRoom();
|
||||
const member = new RoomMember(roomId, client.getSafeUserId());
|
||||
member.membership = Membership.Join;
|
||||
member.membership = KnownMembership.Join;
|
||||
member.powerLevel = 100;
|
||||
room.getMember = () => member;
|
||||
command.run(client, roomId, null, `${client.getUserId()} 0`);
|
||||
|
@ -172,7 +172,7 @@ describe("SlashCommands", () => {
|
|||
it("should default to 50 if no powerlevel specified", async () => {
|
||||
setCurrentRoom();
|
||||
const member = new RoomMember(roomId, "@user:server");
|
||||
member.membership = Membership.Join;
|
||||
member.membership = KnownMembership.Join;
|
||||
room.getMember = () => member;
|
||||
command.run(client, roomId, null, member.userId);
|
||||
expect(client.setPowerLevel).toHaveBeenCalledWith(roomId, member.userId, 50);
|
||||
|
@ -191,7 +191,7 @@ describe("SlashCommands", () => {
|
|||
it("should warn about self demotion", async () => {
|
||||
setCurrentRoom();
|
||||
const member = new RoomMember(roomId, client.getSafeUserId());
|
||||
member.membership = Membership.Join;
|
||||
member.membership = KnownMembership.Join;
|
||||
member.powerLevel = 100;
|
||||
room.getMember = () => member;
|
||||
command.run(client, roomId, null, client.getSafeUserId());
|
||||
|
@ -366,7 +366,7 @@ describe("SlashCommands", () => {
|
|||
describe("/join", () => {
|
||||
beforeEach(() => {
|
||||
jest.spyOn(dispatcher, "dispatch");
|
||||
command = findCommand(Membership.Join)!;
|
||||
command = findCommand(KnownMembership.Join)!;
|
||||
});
|
||||
|
||||
it("should return usage if no args", () => {
|
||||
|
|
|
@ -18,6 +18,7 @@ import {
|
|||
EventType,
|
||||
HistoryVisibility,
|
||||
JoinRule,
|
||||
KnownMembership,
|
||||
MatrixClient,
|
||||
MatrixEvent,
|
||||
Room,
|
||||
|
@ -504,12 +505,12 @@ describe("TextForEvent", () => {
|
|||
type: "m.room.member",
|
||||
sender: "@a:foo",
|
||||
content: {
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
avatar_url: "b",
|
||||
displayname: "Bob",
|
||||
},
|
||||
prev_content: {
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
avatar_url: "a",
|
||||
displayname: "Andy",
|
||||
},
|
||||
|
|
|
@ -17,7 +17,7 @@ limitations under the License.
|
|||
|
||||
import React from "react";
|
||||
import { EventEmitter } from "events";
|
||||
import { MatrixEvent, Room, RoomMember, Thread, ReceiptType } from "matrix-js-sdk/src/matrix";
|
||||
import { MatrixEvent, Room, RoomMember, Thread, ReceiptType, KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
import { render } from "@testing-library/react";
|
||||
import { TooltipProvider } from "@vector-im/compound-web";
|
||||
|
||||
|
@ -171,8 +171,8 @@ describe("MessagePanel", function () {
|
|||
user: "@user:id",
|
||||
target: bobMember,
|
||||
ts: ts0 + i * 1000,
|
||||
mship: Membership.Join,
|
||||
prevMship: Membership.Join,
|
||||
mship: KnownMembership.Join,
|
||||
prevMship: KnownMembership.Join,
|
||||
name: "A user",
|
||||
}),
|
||||
);
|
||||
|
@ -205,8 +205,8 @@ describe("MessagePanel", function () {
|
|||
user: "@user:id",
|
||||
target: bobMember,
|
||||
ts: ts0 + i * 1000,
|
||||
mship: Membership.Join,
|
||||
prevMship: Membership.Join,
|
||||
mship: KnownMembership.Join,
|
||||
prevMship: KnownMembership.Join,
|
||||
name: "A user",
|
||||
}),
|
||||
);
|
||||
|
@ -245,7 +245,7 @@ describe("MessagePanel", function () {
|
|||
user: alice,
|
||||
target: aliceMember,
|
||||
ts: ts0 + 1,
|
||||
mship: Membership.Join,
|
||||
mship: KnownMembership.Join,
|
||||
name: "Alice",
|
||||
}),
|
||||
mkEvent({
|
||||
|
@ -285,7 +285,7 @@ describe("MessagePanel", function () {
|
|||
skey: "@bob:example.org",
|
||||
target: bobMember,
|
||||
ts: ts0 + 5,
|
||||
mship: Membership.Invite,
|
||||
mship: KnownMembership.Invite,
|
||||
name: "Bob",
|
||||
}),
|
||||
];
|
||||
|
@ -542,8 +542,8 @@ describe("MessagePanel", function () {
|
|||
user: "@user:id",
|
||||
target: bobMember,
|
||||
ts: Date.now(),
|
||||
mship: Membership.Join,
|
||||
prevMship: Membership.Join,
|
||||
mship: KnownMembership.Join,
|
||||
prevMship: KnownMembership.Join,
|
||||
name: "A user",
|
||||
}),
|
||||
];
|
||||
|
@ -571,8 +571,8 @@ describe("MessagePanel", function () {
|
|||
user: "@user:id",
|
||||
target: bobMember,
|
||||
ts: Date.now(),
|
||||
mship: Membership.Join,
|
||||
prevMship: Membership.Join,
|
||||
mship: KnownMembership.Join,
|
||||
prevMship: KnownMembership.Join,
|
||||
name: "A user",
|
||||
}),
|
||||
...events,
|
||||
|
@ -695,8 +695,8 @@ describe("MessagePanel", function () {
|
|||
for (let i = 0; i < 100; i++) {
|
||||
events.push(
|
||||
TestUtilsMatrix.mkMembership({
|
||||
mship: Membership.Join,
|
||||
prevMship: Membership.Join,
|
||||
mship: KnownMembership.Join,
|
||||
prevMship: KnownMembership.Join,
|
||||
room: "!room:id",
|
||||
user: "@user:id",
|
||||
event: true,
|
||||
|
@ -716,8 +716,8 @@ describe("MessagePanel", function () {
|
|||
for (let i = 0; i < 100; i++) {
|
||||
events.push(
|
||||
TestUtilsMatrix.mkMembership({
|
||||
mship: Membership.Join,
|
||||
prevMship: Membership.Join,
|
||||
mship: KnownMembership.Join,
|
||||
prevMship: KnownMembership.Join,
|
||||
room: "!room:id",
|
||||
user: "@user:id",
|
||||
event: true,
|
||||
|
|
|
@ -28,6 +28,7 @@ import {
|
|||
MatrixEvent,
|
||||
SearchResult,
|
||||
IEvent,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { MEGOLM_ALGORITHM } from "matrix-js-sdk/src/crypto/olmlib";
|
||||
import { fireEvent, render, screen, RenderResult, waitForElementToBeRemoved, waitFor } from "@testing-library/react";
|
||||
|
@ -238,7 +239,7 @@ describe("RoomView", () => {
|
|||
});
|
||||
|
||||
it("updates url preview visibility on encryption state change", async () => {
|
||||
room.getMyMembership = jest.fn().mockReturnValue(Membership.Join);
|
||||
room.getMyMembership = jest.fn().mockReturnValue(KnownMembership.Join);
|
||||
// we should be starting unencrypted
|
||||
expect(cli.isCryptoEnabled()).toEqual(false);
|
||||
expect(cli.isRoomEncrypted(room.roomId)).toEqual(false);
|
||||
|
@ -583,7 +584,7 @@ describe("RoomView", () => {
|
|||
it("allows to cancel a join request", async () => {
|
||||
jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(client);
|
||||
jest.spyOn(client, "leave").mockResolvedValue({});
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Knock);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Knock);
|
||||
|
||||
await mountRoomView();
|
||||
fireEvent.click(screen.getByRole("button", { name: "Cancel request" }));
|
||||
|
@ -594,7 +595,7 @@ describe("RoomView", () => {
|
|||
});
|
||||
|
||||
it("should close search results when edit is clicked", async () => {
|
||||
room.getMyMembership = jest.fn().mockReturnValue(Membership.Join);
|
||||
room.getMyMembership = jest.fn().mockReturnValue(KnownMembership.Join);
|
||||
|
||||
const eventMapper = (obj: Partial<IEvent>) => new MatrixEvent(obj);
|
||||
|
||||
|
@ -655,7 +656,7 @@ describe("RoomView", () => {
|
|||
const room2 = new Room(`!${roomCount++}:example.org`, cli, "@alice:example.org");
|
||||
rooms.set(room2.roomId, room2);
|
||||
|
||||
room.getMyMembership = jest.fn().mockReturnValue(Membership.Join);
|
||||
room.getMyMembership = jest.fn().mockReturnValue(KnownMembership.Join);
|
||||
|
||||
const eventMapper = (obj: Partial<IEvent>) => new MatrixEvent(obj);
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ limitations under the License.
|
|||
import React from "react";
|
||||
import { mocked } from "jest-mock";
|
||||
import { fireEvent, render, screen, waitFor, waitForElementToBeRemoved } from "@testing-library/react";
|
||||
import { MatrixClient, Room, HierarchyRoom } from "matrix-js-sdk/src/matrix";
|
||||
import { MatrixClient, Room, HierarchyRoom, KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
import { RoomHierarchy } from "matrix-js-sdk/src/room-hierarchy";
|
||||
import { TooltipProvider } from "@vector-im/compound-web";
|
||||
|
||||
|
@ -181,7 +181,7 @@ describe("SpaceHierarchy", () => {
|
|||
mocked(client.getRoom).mockImplementation(
|
||||
(roomId) => client.getRooms().find((room) => room.roomId === roomId) ?? null,
|
||||
);
|
||||
[room1, room2, space1, room3].forEach((r) => mocked(r.getMyMembership).mockReturnValue(Membership.Leave));
|
||||
[room1, room2, space1, room3].forEach((r) => mocked(r.getMyMembership).mockReturnValue(KnownMembership.Leave));
|
||||
|
||||
const hierarchyRoot: HierarchyRoom = {
|
||||
room_id: root.roomId,
|
||||
|
|
|
@ -34,6 +34,7 @@ import {
|
|||
THREAD_RELATION_TYPE,
|
||||
ThreadEvent,
|
||||
ThreadFilterType,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import React, { createRef } from "react";
|
||||
import { Mocked, mocked } from "jest-mock";
|
||||
|
@ -988,8 +989,8 @@ describe("TimelinePanel", () => {
|
|||
events.forEach((event) => timelineSet.getLiveTimeline().addEvent(event, { toStartOfTimeline: true }));
|
||||
|
||||
const roomMembership = mkMembership({
|
||||
mship: Membership.Join,
|
||||
prevMship: Membership.Join,
|
||||
mship: KnownMembership.Join,
|
||||
prevMship: KnownMembership.Join,
|
||||
user: authorId,
|
||||
room: room.roomId,
|
||||
event: true,
|
||||
|
@ -999,7 +1000,7 @@ describe("TimelinePanel", () => {
|
|||
events.push(roomMembership);
|
||||
|
||||
const member = new RoomMember(room.roomId, authorId);
|
||||
member.membership = Membership.Join;
|
||||
member.membership = KnownMembership.Join;
|
||||
|
||||
const roomState = new RoomState(room.roomId);
|
||||
jest.spyOn(roomState, "getMember").mockReturnValue(member);
|
||||
|
|
|
@ -19,7 +19,7 @@ limitations under the License.
|
|||
import { render, screen } from "@testing-library/react";
|
||||
import React, { ComponentProps } from "react";
|
||||
import { mocked } from "jest-mock";
|
||||
import { MatrixClient, PendingEventOrdering, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { KnownMembership, MatrixClient, PendingEventOrdering, Room } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import MatrixClientContext from "../../../../src/contexts/MatrixClientContext";
|
||||
import RoomContextMenu from "../../../../src/components/views/context_menus/RoomContextMenu";
|
||||
|
@ -106,7 +106,7 @@ describe("RoomContextMenu", () => {
|
|||
it("should render notification option for joined rooms", () => {
|
||||
const chamber = EchoChamber.forRoom(room);
|
||||
chamber.notificationVolume = RoomNotifState.Mute;
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Join);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Join);
|
||||
renderComponent();
|
||||
|
||||
expect(
|
||||
|
|
|
@ -16,7 +16,7 @@ limitations under the License.
|
|||
|
||||
import { fireEvent, getByLabelText, render, screen } from "@testing-library/react";
|
||||
import { mocked } from "jest-mock";
|
||||
import { ReceiptType, MatrixClient, PendingEventOrdering, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { ReceiptType, MatrixClient, PendingEventOrdering, Room, KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
import React from "react";
|
||||
import userEvent from "@testing-library/user-event";
|
||||
|
||||
|
@ -105,7 +105,7 @@ describe("RoomGeneralContextMenu", () => {
|
|||
});
|
||||
|
||||
it("does not render invite menu item when UIComponent customisations disable room invite", () => {
|
||||
room.updateMyMembership(Membership.Join);
|
||||
room.updateMyMembership(KnownMembership.Join);
|
||||
jest.spyOn(room, "canInvite").mockReturnValue(true);
|
||||
mocked(shouldShowComponent).mockReturnValue(false);
|
||||
|
||||
|
@ -116,7 +116,7 @@ describe("RoomGeneralContextMenu", () => {
|
|||
});
|
||||
|
||||
it("renders invite menu item when UIComponent customisations enables room invite", () => {
|
||||
room.updateMyMembership(Membership.Join);
|
||||
room.updateMyMembership(KnownMembership.Join);
|
||||
jest.spyOn(room, "canInvite").mockReturnValue(true);
|
||||
mocked(shouldShowComponent).mockReturnValue(true);
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
|||
|
||||
import React from "react";
|
||||
import { render } from "@testing-library/react";
|
||||
import { KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import ConfirmUserActionDialog from "../../../../src/components/views/dialogs/ConfirmUserActionDialog";
|
||||
import { mkRoomMember } from "../../../test-utils";
|
||||
|
@ -25,7 +26,7 @@ describe("ConfirmUserActionDialog", () => {
|
|||
const { asFragment } = render(
|
||||
<ConfirmUserActionDialog
|
||||
onFinished={jest.fn()}
|
||||
member={mkRoomMember("123", "@user:test.com", Membership.Join)}
|
||||
member={mkRoomMember("123", "@user:test.com", KnownMembership.Join)}
|
||||
action="Ban"
|
||||
title="Ban this " // eg. 'Ban this user?'
|
||||
/>,
|
||||
|
|
|
@ -17,7 +17,7 @@ limitations under the License.
|
|||
import React from "react";
|
||||
import { fireEvent, render, screen } from "@testing-library/react";
|
||||
import userEvent from "@testing-library/user-event";
|
||||
import { RoomType, MatrixClient, MatrixError, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { RoomType, MatrixClient, MatrixError, Room, KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
import { sleep } from "matrix-js-sdk/src/utils";
|
||||
import { mocked, Mocked } from "jest-mock";
|
||||
|
||||
|
@ -163,7 +163,7 @@ describe("InviteDialog", () => {
|
|||
mkMembership({
|
||||
event: true,
|
||||
room: roomId,
|
||||
mship: Membership.Join,
|
||||
mship: KnownMembership.Join,
|
||||
user: aliceId,
|
||||
skey: aliceId,
|
||||
}),
|
||||
|
|
|
@ -21,6 +21,7 @@ import {
|
|||
IProtocol,
|
||||
IPublicRoomsChunkRoom,
|
||||
JoinRule,
|
||||
KnownMembership,
|
||||
MatrixClient,
|
||||
Room,
|
||||
RoomMember,
|
||||
|
@ -158,9 +159,9 @@ describe("Spotlight Dialog", () => {
|
|||
beforeEach(() => {
|
||||
mockedClient = mockClient({ rooms: [testPublicRoom], users: [testPerson] });
|
||||
testRoom = mkRoom(mockedClient, "!test23:example.com");
|
||||
mocked(testRoom.getMyMembership).mockReturnValue(Membership.Join);
|
||||
mocked(testRoom.getMyMembership).mockReturnValue(KnownMembership.Join);
|
||||
testLocalRoom = new LocalRoom(LOCAL_ROOM_ID_PREFIX + "test23", mockedClient, mockedClient.getUserId()!);
|
||||
testLocalRoom.updateMyMembership(Membership.Join);
|
||||
testLocalRoom.updateMyMembership(KnownMembership.Join);
|
||||
mocked(mockedClient.getVisibleRooms).mockReturnValue([testRoom, testLocalRoom]);
|
||||
|
||||
jest.spyOn(DMRoomMap, "shared").mockReturnValue({
|
||||
|
@ -169,7 +170,7 @@ describe("Spotlight Dialog", () => {
|
|||
|
||||
testDM = mkRoom(mockedClient, testDMRoomId);
|
||||
testDM.name = "Chat with Alice";
|
||||
mocked(testDM.getMyMembership).mockReturnValue(Membership.Join);
|
||||
mocked(testDM.getMyMembership).mockReturnValue(KnownMembership.Join);
|
||||
|
||||
mocked(DMRoomMap.shared().getUserIdForRoomId).mockImplementation((roomId: string) => {
|
||||
if (roomId === testDMRoomId) {
|
||||
|
|
|
@ -16,7 +16,7 @@ limitations under the License.
|
|||
|
||||
import React, { ComponentProps } from "react";
|
||||
import { render, RenderResult } from "@testing-library/react";
|
||||
import { MatrixEvent, RoomMember } from "matrix-js-sdk/src/matrix";
|
||||
import { KnownMembership, MatrixEvent, Membership, RoomMember } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import {
|
||||
getMockClientWithEventEmitter,
|
||||
|
@ -146,7 +146,7 @@ describe("EventListSummary", function () {
|
|||
|
||||
it("renders expanded events if there are less than props.threshold", function () {
|
||||
const events = generateEvents([
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
]);
|
||||
const props = {
|
||||
events: events,
|
||||
|
@ -165,8 +165,8 @@ describe("EventListSummary", function () {
|
|||
|
||||
it("renders expanded events if there are less than props.threshold for join and leave", function () {
|
||||
const events = generateEvents([
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
]);
|
||||
const props = {
|
||||
events: events,
|
||||
|
@ -186,9 +186,9 @@ describe("EventListSummary", function () {
|
|||
|
||||
it("renders collapsed events if events.length = props.threshold", function () {
|
||||
const events = generateEvents([
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
]);
|
||||
const props = {
|
||||
events: events,
|
||||
|
@ -205,20 +205,20 @@ describe("EventListSummary", function () {
|
|||
|
||||
it("truncates long join,leave repetitions", function () {
|
||||
const events = generateEvents([
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
]);
|
||||
const props = {
|
||||
events: events,
|
||||
|
@ -237,28 +237,28 @@ describe("EventListSummary", function () {
|
|||
const events = generateEvents([
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Ban,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Ban,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Leave,
|
||||
membership: Membership.Invite,
|
||||
prevMembership: KnownMembership.Leave,
|
||||
membership: KnownMembership.Invite,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
]);
|
||||
|
@ -279,30 +279,30 @@ describe("EventListSummary", function () {
|
|||
const events = generateEvents([
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Ban,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Ban,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Leave,
|
||||
membership: Membership.Ban,
|
||||
prevMembership: KnownMembership.Leave,
|
||||
membership: KnownMembership.Ban,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Ban, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Ban, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Leave,
|
||||
membership: Membership.Invite,
|
||||
prevMembership: KnownMembership.Leave,
|
||||
membership: KnownMembership.Invite,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
]);
|
||||
|
@ -326,35 +326,35 @@ describe("EventListSummary", function () {
|
|||
// user_1
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Ban,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Ban,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Leave,
|
||||
membership: Membership.Ban,
|
||||
prevMembership: KnownMembership.Leave,
|
||||
membership: KnownMembership.Ban,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
// user_2
|
||||
{
|
||||
userId: "@user_2:some.domain",
|
||||
prevMembership: Membership.Ban,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Ban,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
{ userId: "@user_2:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_2:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_2:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_2:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_2:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_2:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_2:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_2:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{
|
||||
userId: "@user_2:some.domain",
|
||||
prevMembership: Membership.Leave,
|
||||
membership: Membership.Ban,
|
||||
prevMembership: KnownMembership.Leave,
|
||||
membership: KnownMembership.Ban,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
]);
|
||||
|
@ -376,17 +376,17 @@ describe("EventListSummary", function () {
|
|||
it("handles many users following the same sequence of memberships", function () {
|
||||
const events = generateEventsForUsers("@user_$:some.domain", 20, [
|
||||
{
|
||||
prevMembership: Membership.Ban,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Ban,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
{ prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{
|
||||
prevMembership: Membership.Leave,
|
||||
membership: Membership.Ban,
|
||||
prevMembership: KnownMembership.Leave,
|
||||
membership: KnownMembership.Ban,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
]);
|
||||
|
@ -409,30 +409,30 @@ describe("EventListSummary", function () {
|
|||
const events = generateEvents([
|
||||
{
|
||||
userId: "@user_2:some.domain",
|
||||
prevMembership: Membership.Ban,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Ban,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Ban,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Ban,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Leave,
|
||||
membership: Membership.Ban,
|
||||
prevMembership: KnownMembership.Leave,
|
||||
membership: KnownMembership.Ban,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
{ userId: "@user_2:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_2:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_2:some.domain", prevMembership: Membership.Leave, membership: Membership.Join },
|
||||
{ userId: "@user_2:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_2:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_2:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
{ userId: "@user_2:some.domain", prevMembership: KnownMembership.Leave, membership: KnownMembership.Join },
|
||||
{ userId: "@user_2:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
]);
|
||||
const props = {
|
||||
events: events,
|
||||
|
@ -453,52 +453,52 @@ describe("EventListSummary", function () {
|
|||
it("correctly identifies transitions", function () {
|
||||
const events = generateEvents([
|
||||
// invited
|
||||
{ userId: "@user_1:some.domain", membership: Membership.Invite },
|
||||
{ userId: "@user_1:some.domain", membership: KnownMembership.Invite },
|
||||
// banned
|
||||
{ userId: "@user_1:some.domain", membership: Membership.Ban },
|
||||
{ userId: "@user_1:some.domain", membership: KnownMembership.Ban },
|
||||
// joined
|
||||
{ userId: "@user_1:some.domain", membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", membership: KnownMembership.Join },
|
||||
// invite_reject
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Invite,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Leave,
|
||||
},
|
||||
// left
|
||||
{ userId: "@user_1:some.domain", prevMembership: Membership.Join, membership: Membership.Leave },
|
||||
{ userId: "@user_1:some.domain", prevMembership: KnownMembership.Join, membership: KnownMembership.Leave },
|
||||
// invite_withdrawal
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Invite,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
// unbanned
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Ban,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Ban,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
// kicked
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Join,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Join,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
// default for sender=target (leave)
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: "????" as Membership,
|
||||
membership: Membership.Leave,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@user_1:some.domain",
|
||||
},
|
||||
// default for sender<>target (kicked)
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: "????" as Membership,
|
||||
membership: Membership.Leave,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
]);
|
||||
|
@ -522,24 +522,24 @@ describe("EventListSummary", function () {
|
|||
const events = generateEvents([
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Invite,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Leave,
|
||||
},
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Invite,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
{
|
||||
userId: "@user_2:some.domain",
|
||||
prevMembership: Membership.Invite,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Leave,
|
||||
},
|
||||
{
|
||||
userId: "@user_2:some.domain",
|
||||
prevMembership: Membership.Invite,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Leave,
|
||||
senderId: "@some_other_user:some.domain",
|
||||
},
|
||||
]);
|
||||
|
@ -562,13 +562,13 @@ describe("EventListSummary", function () {
|
|||
const events = generateEvents([
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Invite,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Leave,
|
||||
},
|
||||
{
|
||||
userId: "@user_1:some.domain",
|
||||
prevMembership: Membership.Invite,
|
||||
membership: Membership.Leave,
|
||||
prevMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Leave,
|
||||
},
|
||||
]);
|
||||
const props = {
|
||||
|
@ -586,10 +586,10 @@ describe("EventListSummary", function () {
|
|||
|
||||
it('handles a summary length = 2, with no "others"', function () {
|
||||
const events = generateEvents([
|
||||
{ userId: "@user_1:some.domain", membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", membership: Membership.Join },
|
||||
{ userId: "@user_2:some.domain", membership: Membership.Join },
|
||||
{ userId: "@user_2:some.domain", membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", membership: KnownMembership.Join },
|
||||
{ userId: "@user_1:some.domain", membership: KnownMembership.Join },
|
||||
{ userId: "@user_2:some.domain", membership: KnownMembership.Join },
|
||||
{ userId: "@user_2:some.domain", membership: KnownMembership.Join },
|
||||
]);
|
||||
const props = {
|
||||
events: events,
|
||||
|
@ -606,9 +606,9 @@ describe("EventListSummary", function () {
|
|||
|
||||
it('handles a summary length = 2, with 1 "other"', function () {
|
||||
const events = generateEvents([
|
||||
{ userId: "@user_1:some.domain", membership: Membership.Join },
|
||||
{ userId: "@user_2:some.domain", membership: Membership.Join },
|
||||
{ userId: "@user_3:some.domain", membership: Membership.Join },
|
||||
{ userId: "@user_1:some.domain", membership: KnownMembership.Join },
|
||||
{ userId: "@user_2:some.domain", membership: KnownMembership.Join },
|
||||
{ userId: "@user_3:some.domain", membership: KnownMembership.Join },
|
||||
]);
|
||||
const props = {
|
||||
events: events,
|
||||
|
@ -624,7 +624,7 @@ describe("EventListSummary", function () {
|
|||
});
|
||||
|
||||
it('handles a summary length = 2, with many "others"', function () {
|
||||
const events = generateEventsForUsers("@user_$:some.domain", 20, [{ membership: Membership.Join }]);
|
||||
const events = generateEventsForUsers("@user_$:some.domain", 20, [{ membership: KnownMembership.Join }]);
|
||||
const props = {
|
||||
events: events,
|
||||
children: generateTiles(events),
|
||||
|
|
|
@ -15,13 +15,14 @@ limitations under the License.
|
|||
import { render } from "@testing-library/react";
|
||||
import React from "react";
|
||||
import { TooltipProvider } from "@vector-im/compound-web";
|
||||
import { KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import FacePile from "../../../../src/components/views/elements/FacePile";
|
||||
import { mkRoomMember } from "../../../test-utils";
|
||||
|
||||
describe("<FacePile />", () => {
|
||||
it("renders with a tooltip", () => {
|
||||
const member = mkRoomMember("123", "456", Membership.Join);
|
||||
const member = mkRoomMember("123", "456", KnownMembership.Join);
|
||||
|
||||
const { asFragment } = render(
|
||||
<FacePile members={[member]} size="36px" overflow={false} tooltipLabel="tooltip" />,
|
||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
|||
import { render } from "@testing-library/react";
|
||||
import React from "react";
|
||||
import { TooltipProvider } from "@vector-im/compound-web";
|
||||
import { KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { mkRoom, mkRoomMember, stubClient, withClientContextRenderOptions } from "../../../test-utils";
|
||||
import RoomFacePile from "../../../../src/components/views/elements/RoomFacePile";
|
||||
|
@ -28,7 +29,7 @@ describe("<RoomFacePile />", () => {
|
|||
const room = mkRoom(cli, "!123");
|
||||
|
||||
jest.spyOn(room, "getJoinedMembers").mockReturnValue([
|
||||
mkRoomMember(room.roomId, "@bob:example.org", Membership.Join),
|
||||
mkRoomMember(room.roomId, "@bob:example.org", KnownMembership.Join),
|
||||
]);
|
||||
|
||||
const { asFragment } = render(
|
||||
|
|
|
@ -16,7 +16,7 @@ limitations under the License.
|
|||
|
||||
import React from "react";
|
||||
import { render, fireEvent, screen } from "@testing-library/react";
|
||||
import { EventType, MatrixEvent, Room, MatrixClient, JoinRule } from "matrix-js-sdk/src/matrix";
|
||||
import { EventType, MatrixEvent, Room, MatrixClient, JoinRule, KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
import { mocked, MockedObject } from "jest-mock";
|
||||
import { TooltipProvider } from "@vector-im/compound-web";
|
||||
|
||||
|
@ -86,7 +86,7 @@ describe("<RoomSummaryCard />", () => {
|
|||
state_key: "",
|
||||
});
|
||||
room.currentState.setStateEvents([roomCreateEvent]);
|
||||
room.updateMyMembership(Membership.Join);
|
||||
room.updateMyMembership(KnownMembership.Join);
|
||||
|
||||
jest.spyOn(Modal, "createDialog");
|
||||
jest.spyOn(RightPanelStore.instance, "pushCard");
|
||||
|
|
|
@ -28,6 +28,7 @@ import {
|
|||
CryptoApi,
|
||||
DeviceVerificationStatus,
|
||||
Device,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import {
|
||||
Phase,
|
||||
|
@ -943,8 +944,8 @@ describe("<PowerLevelEditor />", () => {
|
|||
|
||||
describe("<RoomKickButton />", () => {
|
||||
const defaultMember = new RoomMember(defaultRoomId, defaultUserId);
|
||||
const memberWithInviteMembership = { ...defaultMember, membership: Membership.Invite };
|
||||
const memberWithJoinMembership = { ...defaultMember, membership: Membership.Join };
|
||||
const memberWithInviteMembership = { ...defaultMember, membership: KnownMembership.Invite };
|
||||
const memberWithJoinMembership = { ...defaultMember, membership: KnownMembership.Join };
|
||||
|
||||
let defaultProps: Parameters<typeof RoomKickButton>[0];
|
||||
beforeEach(() => {
|
||||
|
@ -1031,7 +1032,7 @@ describe("<RoomKickButton />", () => {
|
|||
// null vs their member followed by
|
||||
// my member vs their member
|
||||
const mockMyMember = { powerLevel: 1 };
|
||||
const mockTheirMember = { membership: Membership.Invite, powerLevel: 0 };
|
||||
const mockTheirMember = { membership: KnownMembership.Invite, powerLevel: 0 };
|
||||
|
||||
const mockRoom = {
|
||||
getMember: jest
|
||||
|
@ -1052,7 +1053,7 @@ describe("<RoomKickButton />", () => {
|
|||
|
||||
describe("<BanToggleButton />", () => {
|
||||
const defaultMember = new RoomMember(defaultRoomId, defaultUserId);
|
||||
const memberWithBanMembership = { ...defaultMember, membership: Membership.Ban };
|
||||
const memberWithBanMembership = { ...defaultMember, membership: KnownMembership.Ban };
|
||||
let defaultProps: Parameters<typeof BanToggleButton>[0];
|
||||
beforeEach(() => {
|
||||
defaultProps = {
|
||||
|
@ -1161,7 +1162,7 @@ describe("<BanToggleButton />", () => {
|
|||
// null vs their member followed by
|
||||
// my member vs their member
|
||||
const mockMyMember = { powerLevel: 1 };
|
||||
const mockTheirMember = { membership: Membership.Ban, powerLevel: 0 };
|
||||
const mockTheirMember = { membership: KnownMembership.Ban, powerLevel: 0 };
|
||||
|
||||
const mockRoom = {
|
||||
getMember: jest
|
||||
|
@ -1182,7 +1183,7 @@ describe("<BanToggleButton />", () => {
|
|||
|
||||
describe("<RoomAdminToolsContainer />", () => {
|
||||
const defaultMember = new RoomMember(defaultRoomId, defaultUserId);
|
||||
defaultMember.membership = Membership.Invite;
|
||||
defaultMember.membership = KnownMembership.Invite;
|
||||
|
||||
let defaultProps: Parameters<typeof RoomAdminToolsContainer>[0];
|
||||
beforeEach(() => {
|
||||
|
@ -1248,7 +1249,7 @@ describe("<RoomAdminToolsContainer />", () => {
|
|||
const defaultMemberWithPowerLevelAndJoinMembership = {
|
||||
...defaultMember,
|
||||
powerLevel: 0,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
};
|
||||
|
||||
renderComponent({
|
||||
|
@ -1270,7 +1271,7 @@ describe("<RoomAdminToolsContainer />", () => {
|
|||
const defaultMemberWithPowerLevelAndJoinMembership = {
|
||||
...defaultMember,
|
||||
powerLevel: 0,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
};
|
||||
|
||||
renderComponent({
|
||||
|
|
|
@ -24,6 +24,7 @@ import {
|
|||
RoomStateEvent,
|
||||
PendingEventOrdering,
|
||||
ISearchResults,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { CallType } from "matrix-js-sdk/src/webrtc/call";
|
||||
import { ClientWidgetApi, Widget } from "matrix-widget-api";
|
||||
|
@ -906,7 +907,7 @@ function mkJoinEvent(roomId: string, userId: string) {
|
|||
room: roomId,
|
||||
user: userId,
|
||||
content: {
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
avatar_url: "mxc://example.org/" + userId,
|
||||
},
|
||||
});
|
||||
|
|
|
@ -17,7 +17,15 @@ limitations under the License.
|
|||
|
||||
import React from "react";
|
||||
import { act, fireEvent, render, RenderResult, screen } from "@testing-library/react";
|
||||
import { Room, MatrixClient, RoomState, RoomMember, User, MatrixEvent } from "matrix-js-sdk/src/matrix";
|
||||
import {
|
||||
Room,
|
||||
MatrixClient,
|
||||
RoomState,
|
||||
RoomMember,
|
||||
User,
|
||||
MatrixEvent,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { compare } from "matrix-js-sdk/src/utils";
|
||||
import { mocked, MockedObject } from "jest-mock";
|
||||
import { TooltipProvider } from "@vector-im/compound-web";
|
||||
|
@ -170,7 +178,7 @@ describe("MemberList", () => {
|
|||
const usersPerLevel = 2;
|
||||
for (let i = 0; i < usersPerLevel; i++) {
|
||||
const adminUser = new RoomMember(memberListRoom.roomId, `@admin${i}:localhost`);
|
||||
adminUser.membership = Membership.Join;
|
||||
adminUser.membership = KnownMembership.Join;
|
||||
adminUser.powerLevel = 100;
|
||||
adminUser.user = User.createUser(adminUser.userId, client);
|
||||
adminUser.user.currentlyActive = true;
|
||||
|
@ -180,7 +188,7 @@ describe("MemberList", () => {
|
|||
adminUsers.push(adminUser);
|
||||
|
||||
const moderatorUser = new RoomMember(memberListRoom.roomId, `@moderator${i}:localhost`);
|
||||
moderatorUser.membership = Membership.Join;
|
||||
moderatorUser.membership = KnownMembership.Join;
|
||||
moderatorUser.powerLevel = 50;
|
||||
moderatorUser.user = User.createUser(moderatorUser.userId, client);
|
||||
moderatorUser.user.currentlyActive = true;
|
||||
|
@ -190,7 +198,7 @@ describe("MemberList", () => {
|
|||
moderatorUsers.push(moderatorUser);
|
||||
|
||||
const defaultUser = new RoomMember(memberListRoom.roomId, `@default${i}:localhost`);
|
||||
defaultUser.membership = Membership.Join;
|
||||
defaultUser.membership = KnownMembership.Join;
|
||||
defaultUser.powerLevel = 0;
|
||||
defaultUser.user = User.createUser(defaultUser.userId, client);
|
||||
defaultUser.user.currentlyActive = true;
|
||||
|
@ -402,7 +410,7 @@ describe("MemberList", () => {
|
|||
});
|
||||
|
||||
it("renders disabled invite button when current user is a member but does not have rights to invite", async () => {
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Join);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Join);
|
||||
jest.spyOn(room, "canInvite").mockReturnValue(false);
|
||||
|
||||
renderComponent();
|
||||
|
@ -413,7 +421,7 @@ describe("MemberList", () => {
|
|||
});
|
||||
|
||||
it("renders enabled invite button when current user is a member and has rights to invite", async () => {
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Join);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Join);
|
||||
jest.spyOn(room, "canInvite").mockReturnValue(true);
|
||||
|
||||
renderComponent();
|
||||
|
@ -424,7 +432,7 @@ describe("MemberList", () => {
|
|||
|
||||
it("opens room inviter on button click", async () => {
|
||||
jest.spyOn(defaultDispatcher, "dispatch");
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Join);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Join);
|
||||
jest.spyOn(room, "canInvite").mockReturnValue(true);
|
||||
|
||||
renderComponent();
|
||||
|
|
|
@ -26,6 +26,7 @@ import {
|
|||
EventStatus,
|
||||
PendingEventOrdering,
|
||||
ReceiptType,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import type { MatrixClient } from "matrix-js-sdk/src/matrix";
|
||||
|
@ -140,7 +141,7 @@ describe("UnreadNotificationBadge", () => {
|
|||
});
|
||||
|
||||
it("adds a warning for invites", () => {
|
||||
room.updateMyMembership(Membership.Invite);
|
||||
room.updateMyMembership(KnownMembership.Invite);
|
||||
render(getComponent());
|
||||
expect(screen.queryByText("!")).not.toBeNull();
|
||||
});
|
||||
|
|
|
@ -19,6 +19,7 @@ import { CallType, MatrixCall } from "matrix-js-sdk/src/webrtc/call";
|
|||
import {
|
||||
EventType,
|
||||
JoinRule,
|
||||
KnownMembership,
|
||||
MatrixClient,
|
||||
MatrixEvent,
|
||||
PendingEventOrdering,
|
||||
|
@ -154,7 +155,7 @@ describe("RoomHeader", () => {
|
|||
name: "Member",
|
||||
rawDisplayName: "Member",
|
||||
roomId: room.roomId,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
getAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
getMxcAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
},
|
||||
|
@ -172,7 +173,7 @@ describe("RoomHeader", () => {
|
|||
name: "Member",
|
||||
rawDisplayName: "Member",
|
||||
roomId: room.roomId,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
getAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
getMxcAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
},
|
||||
|
@ -181,7 +182,7 @@ describe("RoomHeader", () => {
|
|||
name: "Member",
|
||||
rawDisplayName: "Member",
|
||||
roomId: room.roomId,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
getAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
getMxcAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
},
|
||||
|
@ -190,7 +191,7 @@ describe("RoomHeader", () => {
|
|||
name: "Member",
|
||||
rawDisplayName: "Member",
|
||||
roomId: room.roomId,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
getAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
getMxcAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
},
|
||||
|
@ -199,7 +200,7 @@ describe("RoomHeader", () => {
|
|||
name: "Bot user",
|
||||
rawDisplayName: "Bot user",
|
||||
roomId: room.roomId,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
getAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
getMxcAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
},
|
||||
|
@ -703,7 +704,7 @@ function mockRoomMembers(room: Room, count: number) {
|
|||
name: `Member ${index}`,
|
||||
rawDisplayName: `Member ${index}`,
|
||||
roomId: room.roomId,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
getAvatarUrl: () => `mxc://avatar.url/user-${index}.png`,
|
||||
getMxcAvatarUrl: () => `mxc://avatar.url/user-${index}.png`,
|
||||
}));
|
||||
|
|
|
@ -19,6 +19,7 @@ import {
|
|||
EventTimeline,
|
||||
EventType,
|
||||
JoinRule,
|
||||
KnownMembership,
|
||||
MatrixError,
|
||||
MatrixEvent,
|
||||
Room,
|
||||
|
@ -112,24 +113,24 @@ describe("RoomKnocksBar", () => {
|
|||
|
||||
bob.setMembershipEvent(
|
||||
new MatrixEvent({
|
||||
content: { displayname: "Bob", membership: Membership.Knock },
|
||||
content: { displayname: "Bob", membership: KnownMembership.Knock },
|
||||
type: EventType.RoomMember,
|
||||
}),
|
||||
);
|
||||
jane.setMembershipEvent(
|
||||
new MatrixEvent({
|
||||
content: { displayname: "Jane", membership: Membership.Knock },
|
||||
content: { displayname: "Jane", membership: KnownMembership.Knock },
|
||||
type: EventType.RoomMember,
|
||||
}),
|
||||
);
|
||||
john.setMembershipEvent(
|
||||
new MatrixEvent({
|
||||
content: { displayname: "John", membership: Membership.Knock },
|
||||
content: { displayname: "John", membership: KnownMembership.Knock },
|
||||
type: EventType.RoomMember,
|
||||
}),
|
||||
);
|
||||
other.setMembershipEvent(
|
||||
new MatrixEvent({ content: { membership: Membership.Knock }, type: EventType.RoomMember }),
|
||||
new MatrixEvent({ content: { membership: KnownMembership.Knock }, type: EventType.RoomMember }),
|
||||
);
|
||||
|
||||
beforeEach(async () => {
|
||||
|
@ -189,7 +190,7 @@ describe("RoomKnocksBar", () => {
|
|||
it("renders a link to open the room settings people tab", () => {
|
||||
bob.setMembershipEvent(
|
||||
new MatrixEvent({
|
||||
content: { displayname: "Bob", membership: Membership.Knock, reason: "some reason" },
|
||||
content: { displayname: "Bob", membership: KnownMembership.Knock, reason: "some reason" },
|
||||
type: EventType.RoomMember,
|
||||
}),
|
||||
);
|
||||
|
|
|
@ -16,7 +16,7 @@ limitations under the License.
|
|||
|
||||
import React, { ComponentProps } from "react";
|
||||
import { render, fireEvent, RenderResult, waitFor } from "@testing-library/react";
|
||||
import { Room, RoomMember, MatrixError, IContent } from "matrix-js-sdk/src/matrix";
|
||||
import { Room, RoomMember, MatrixError, IContent, KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { withClientContextRenderOptions, stubClient } from "../../../test-utils";
|
||||
import { MatrixClientPeg } from "../../../../src/MatrixClientPeg";
|
||||
|
@ -49,10 +49,10 @@ const makeMockRoomMember = ({
|
|||
}: {
|
||||
userId?: string;
|
||||
isKicked?: boolean;
|
||||
membership?: Membership.Invite | Membership.Ban | Membership.Leave;
|
||||
membership?: KnownMembership.Invite | KnownMembership.Ban | KnownMembership.Leave;
|
||||
content?: Partial<IContent>;
|
||||
memberContent?: Partial<IContent>;
|
||||
oldMembership?: Membership.Join | Membership.Knock;
|
||||
oldMembership?: KnownMembership.Join | KnownMembership.Knock;
|
||||
}) =>
|
||||
({
|
||||
userId,
|
||||
|
@ -180,7 +180,11 @@ describe("<RoomPreviewBar />", () => {
|
|||
it("renders denied request message", () => {
|
||||
const room = createRoom(roomId, otherUserId);
|
||||
jest.spyOn(room, "getMember").mockReturnValue(
|
||||
makeMockRoomMember({ isKicked: true, membership: Membership.Leave, oldMembership: Membership.Knock }),
|
||||
makeMockRoomMember({
|
||||
isKicked: true,
|
||||
membership: KnownMembership.Leave,
|
||||
oldMembership: KnownMembership.Knock,
|
||||
}),
|
||||
);
|
||||
const component = getComponent({ room, promptAskToJoin: true });
|
||||
|
||||
|
@ -191,7 +195,11 @@ describe("<RoomPreviewBar />", () => {
|
|||
const onForgetClick = jest.fn();
|
||||
const room = createRoom(roomId, otherUserId);
|
||||
jest.spyOn(room, "getMember").mockReturnValue(
|
||||
makeMockRoomMember({ isKicked: true, membership: Membership.Leave, oldMembership: Membership.Knock }),
|
||||
makeMockRoomMember({
|
||||
isKicked: true,
|
||||
membership: KnownMembership.Leave,
|
||||
oldMembership: KnownMembership.Knock,
|
||||
}),
|
||||
);
|
||||
const component = getComponent({ room, promptAskToJoin: true, onForgetClick });
|
||||
|
||||
|
@ -201,7 +209,7 @@ describe("<RoomPreviewBar />", () => {
|
|||
|
||||
it("renders banned message", () => {
|
||||
const room = createRoom(roomId, otherUserId);
|
||||
jest.spyOn(room, "getMember").mockReturnValue(makeMockRoomMember({ membership: Membership.Ban }));
|
||||
jest.spyOn(room, "getMember").mockReturnValue(makeMockRoomMember({ membership: KnownMembership.Ban }));
|
||||
const component = getComponent({ loading: true, room });
|
||||
|
||||
expect(getMessage(component)).toMatchSnapshot();
|
||||
|
@ -244,8 +252,8 @@ describe("<RoomPreviewBar />", () => {
|
|||
const userMember = makeMockRoomMember({ userId });
|
||||
const userMemberWithDmInvite = makeMockRoomMember({
|
||||
userId,
|
||||
membership: Membership.Invite,
|
||||
memberContent: { is_direct: true, membership: Membership.Invite },
|
||||
membership: KnownMembership.Invite,
|
||||
memberContent: { is_direct: true, membership: KnownMembership.Invite },
|
||||
});
|
||||
const inviterMember = makeMockRoomMember({
|
||||
userId: inviterUserId,
|
||||
|
|
|
@ -17,7 +17,7 @@ limitations under the License.
|
|||
import React from "react";
|
||||
import { mocked, Mocked } from "jest-mock";
|
||||
import { render, screen, act } from "@testing-library/react";
|
||||
import { PendingEventOrdering, Room, RoomStateEvent, RoomType } from "matrix-js-sdk/src/matrix";
|
||||
import { KnownMembership, PendingEventOrdering, Room, RoomStateEvent, RoomType } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import type { MatrixClient, RoomMember } from "matrix-js-sdk/src/matrix";
|
||||
import { stubClient, wrapInMatrixClientContext, mkRoomMember } from "../../../test-utils";
|
||||
|
@ -68,7 +68,7 @@ describe("RoomPreviewCard", () => {
|
|||
|
||||
it("shows a beta pill on Jitsi video room invites", async () => {
|
||||
jest.spyOn(room, "getType").mockReturnValue(RoomType.ElementVideo);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Invite);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Invite);
|
||||
enabledFeatures = ["feature_video_rooms"];
|
||||
|
||||
await renderPreview();
|
||||
|
@ -77,7 +77,7 @@ describe("RoomPreviewCard", () => {
|
|||
|
||||
it("shows a beta pill on Element video room invites", async () => {
|
||||
jest.spyOn(room, "getType").mockReturnValue(RoomType.UnstableCall);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Invite);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Invite);
|
||||
enabledFeatures = ["feature_video_rooms", "feature_element_call_video_rooms"];
|
||||
|
||||
await renderPreview();
|
||||
|
@ -85,7 +85,7 @@ describe("RoomPreviewCard", () => {
|
|||
});
|
||||
|
||||
it("doesn't show a beta pill on normal invites", async () => {
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Invite);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Invite);
|
||||
|
||||
await renderPreview();
|
||||
expect(screen.queryByRole("button", { name: /beta/i })).toBeNull();
|
||||
|
@ -93,7 +93,7 @@ describe("RoomPreviewCard", () => {
|
|||
|
||||
it("shows instructions on Jitsi video rooms invites if video rooms are disabled", async () => {
|
||||
jest.spyOn(room, "getType").mockReturnValue(RoomType.ElementVideo);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Invite);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Invite);
|
||||
|
||||
await renderPreview();
|
||||
screen.getByText(/enable video rooms in labs/i);
|
||||
|
@ -101,7 +101,7 @@ describe("RoomPreviewCard", () => {
|
|||
|
||||
it("shows instructions on Element video rooms invites if video rooms are disabled", async () => {
|
||||
jest.spyOn(room, "getType").mockReturnValue(RoomType.UnstableCall);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Invite);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Invite);
|
||||
enabledFeatures = ["feature_element_call_video_rooms"];
|
||||
|
||||
await renderPreview();
|
||||
|
|
|
@ -24,6 +24,7 @@ import {
|
|||
MatrixEvent,
|
||||
RoomStateEvent,
|
||||
Thread,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { Widget } from "matrix-widget-api";
|
||||
|
||||
|
@ -187,7 +188,7 @@ describe("RoomTile", () => {
|
|||
return name === "feature_ask_to_join";
|
||||
});
|
||||
mocked(shouldShowComponent).mockReturnValue(true);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Knock);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Knock);
|
||||
const { container } = renderRoomTile();
|
||||
expect(container.querySelector(".mx_RoomTile_sticky")).toBeInTheDocument();
|
||||
expect(screen.queryByRole("button", { name: "Room options" })).not.toBeInTheDocument();
|
||||
|
@ -201,10 +202,10 @@ describe("RoomTile", () => {
|
|||
const roomMember = mkRoomMember(
|
||||
room.roomId,
|
||||
MatrixClientPeg.get()!.getSafeUserId(),
|
||||
Membership.Leave,
|
||||
KnownMembership.Leave,
|
||||
true,
|
||||
{
|
||||
membership: Membership.Knock,
|
||||
membership: KnownMembership.Knock,
|
||||
},
|
||||
);
|
||||
jest.spyOn(room, "getMember").mockReturnValue(roomMember);
|
||||
|
|
|
@ -27,6 +27,7 @@ import {
|
|||
RoomMember,
|
||||
MatrixError,
|
||||
Visibility,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { defer, IDeferred } from "matrix-js-sdk/src/utils";
|
||||
|
||||
|
@ -177,7 +178,7 @@ describe("<JoinRuleSettings />", () => {
|
|||
const memberBob = new RoomMember(roomId, "@bob:server.org");
|
||||
const memberCharlie = new RoomMember(roomId, "@charlie:server.org");
|
||||
jest.spyOn(room, "getMembersWithMembership").mockImplementation((membership) =>
|
||||
membership === Membership.Join ? [memberAlice, memberBob] : [memberCharlie],
|
||||
membership === KnownMembership.Join ? [memberAlice, memberBob] : [memberCharlie],
|
||||
);
|
||||
const upgradedRoom = new Room(newRoomId, client, userId);
|
||||
setRoomStateEvents(upgradedRoom, preferredRoomVersion);
|
||||
|
|
|
@ -18,6 +18,7 @@ import { act, fireEvent, render, screen, within } from "@testing-library/react";
|
|||
import {
|
||||
EventTimeline,
|
||||
EventType,
|
||||
KnownMembership,
|
||||
MatrixError,
|
||||
MatrixEvent,
|
||||
Room,
|
||||
|
@ -91,7 +92,7 @@ describe("PeopleRoomSettingsTab", () => {
|
|||
content: {
|
||||
avatar_url: "mxc://example.org/albert-einstein.png",
|
||||
displayname: "Albert Einstein",
|
||||
membership: Membership.Knock,
|
||||
membership: KnownMembership.Knock,
|
||||
reason,
|
||||
},
|
||||
origin_server_ts: -464140800000,
|
||||
|
@ -110,7 +111,7 @@ describe("PeopleRoomSettingsTab", () => {
|
|||
new MatrixEvent({
|
||||
content: {
|
||||
displayname: "albert.einstein",
|
||||
membership: Membership.Knock,
|
||||
membership: KnownMembership.Knock,
|
||||
},
|
||||
type: EventType.RoomMember,
|
||||
}),
|
||||
|
@ -138,7 +139,7 @@ describe("PeopleRoomSettingsTab", () => {
|
|||
new MatrixEvent({
|
||||
content: {
|
||||
displayname: "albert.einstein",
|
||||
membership: Membership.Knock,
|
||||
membership: KnownMembership.Knock,
|
||||
reason,
|
||||
},
|
||||
type: EventType.RoomMember,
|
||||
|
|
|
@ -16,7 +16,15 @@ limitations under the License.
|
|||
|
||||
import React from "react";
|
||||
import { fireEvent, render, RenderResult, screen, waitFor } from "@testing-library/react";
|
||||
import { MatrixClient, EventType, MatrixEvent, Room, RoomMember, ISendEventResponse } from "matrix-js-sdk/src/matrix";
|
||||
import {
|
||||
MatrixClient,
|
||||
EventType,
|
||||
MatrixEvent,
|
||||
Room,
|
||||
RoomMember,
|
||||
ISendEventResponse,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { mocked } from "jest-mock";
|
||||
import { defer } from "matrix-js-sdk/src/utils";
|
||||
|
||||
|
@ -197,7 +205,7 @@ describe("RolesRoomSettingsTab", () => {
|
|||
new MatrixEvent({
|
||||
type: EventType.RoomMember,
|
||||
content: {
|
||||
membership: Membership.Ban,
|
||||
membership: KnownMembership.Ban,
|
||||
reason: "just testing",
|
||||
},
|
||||
sender: userId,
|
||||
|
@ -218,7 +226,7 @@ describe("RolesRoomSettingsTab", () => {
|
|||
new MatrixEvent({
|
||||
type: EventType.RoomMember,
|
||||
content: {
|
||||
membership: Membership.Ban,
|
||||
membership: KnownMembership.Ban,
|
||||
reason: "just testing",
|
||||
},
|
||||
sender: userId,
|
||||
|
|
|
@ -16,7 +16,7 @@ limitations under the License.
|
|||
|
||||
import { waitFor } from "@testing-library/react";
|
||||
import { renderHook, act } from "@testing-library/react-hooks/dom";
|
||||
import { MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { KnownMembership, MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { MatrixClientPeg } from "../../src/MatrixClientPeg";
|
||||
import { stubClient } from "../test-utils";
|
||||
|
@ -49,7 +49,7 @@ describe("useRoomMembers", () => {
|
|||
state_key: "!user:server",
|
||||
room_id: room.roomId,
|
||||
content: {
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
},
|
||||
}),
|
||||
]);
|
||||
|
@ -85,7 +85,7 @@ describe("useRoomMemberCount", () => {
|
|||
state_key: "!user:server",
|
||||
room_id: room.roomId,
|
||||
content: {
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
},
|
||||
}),
|
||||
]);
|
||||
|
@ -109,14 +109,14 @@ describe("useMyRoomMembership", () => {
|
|||
});
|
||||
|
||||
it("should update on RoomState.Members events", async () => {
|
||||
room.updateMyMembership(Membership.Join);
|
||||
room.updateMyMembership(KnownMembership.Join);
|
||||
const { result } = render(room);
|
||||
|
||||
expect(result.current).toBe(Membership.Join);
|
||||
expect(result.current).toBe(KnownMembership.Join);
|
||||
|
||||
act(() => {
|
||||
room.updateMyMembership(Membership.Leave);
|
||||
room.updateMyMembership(KnownMembership.Leave);
|
||||
});
|
||||
await waitFor(() => expect(result.current).toBe(Membership.Leave));
|
||||
await waitFor(() => expect(result.current).toBe(KnownMembership.Leave));
|
||||
});
|
||||
});
|
||||
|
|
|
@ -15,7 +15,13 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { renderHook } from "@testing-library/react-hooks";
|
||||
import { EventStatus, NotificationCountType, PendingEventOrdering, Room } from "matrix-js-sdk/src/matrix";
|
||||
import {
|
||||
EventStatus,
|
||||
KnownMembership,
|
||||
NotificationCountType,
|
||||
PendingEventOrdering,
|
||||
Room,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import type { MatrixClient } from "matrix-js-sdk/src/matrix";
|
||||
import { useUnreadNotifications } from "../../src/hooks/useUnreadNotifications";
|
||||
|
@ -66,7 +72,7 @@ describe("useUnreadNotifications", () => {
|
|||
});
|
||||
|
||||
it("indicates the user has been invited to a channel", async () => {
|
||||
room.updateMyMembership(Membership.Invite);
|
||||
room.updateMyMembership(KnownMembership.Invite);
|
||||
|
||||
const { result } = renderHook(() => useUnreadNotifications(room));
|
||||
const { level, symbol, count } = result.current;
|
||||
|
|
|
@ -17,7 +17,15 @@ limitations under the License.
|
|||
import EventEmitter from "events";
|
||||
import { mocked } from "jest-mock";
|
||||
import { waitFor } from "@testing-library/react";
|
||||
import { RoomType, Room, RoomEvent, MatrixEvent, RoomStateEvent, PendingEventOrdering } from "matrix-js-sdk/src/matrix";
|
||||
import {
|
||||
RoomType,
|
||||
Room,
|
||||
RoomEvent,
|
||||
MatrixEvent,
|
||||
RoomStateEvent,
|
||||
PendingEventOrdering,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { Widget } from "matrix-widget-api";
|
||||
// eslint-disable-next-line no-restricted-imports
|
||||
import { MatrixRTCSessionManagerEvents } from "matrix-js-sdk/src/matrixrtc/MatrixRTCSessionManager";
|
||||
|
@ -95,7 +103,7 @@ const setUpClientRoomAndStores = (): {
|
|||
}
|
||||
});
|
||||
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Join);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Join);
|
||||
|
||||
client.getRoom.mockImplementation((roomId) => (roomId === room.roomId ? room : null));
|
||||
client.getRoom.mockImplementation((roomId) => (roomId === room.roomId ? room : null));
|
||||
|
@ -380,7 +388,7 @@ describe("JitsiCall", () => {
|
|||
it("disconnects when we leave the room", async () => {
|
||||
await call.start();
|
||||
expect(call.connectionState).toBe(ConnectionState.Connected);
|
||||
room.emit(RoomEvent.MyMembership, room, Membership.Leave);
|
||||
room.emit(RoomEvent.MyMembership, room, KnownMembership.Leave);
|
||||
expect(call.connectionState).toBe(ConnectionState.Disconnected);
|
||||
});
|
||||
|
||||
|
@ -395,7 +403,7 @@ describe("JitsiCall", () => {
|
|||
it("remains connected if we stay in the room", async () => {
|
||||
await call.start();
|
||||
expect(call.connectionState).toBe(ConnectionState.Connected);
|
||||
room.emit(RoomEvent.MyMembership, room, Membership.Join);
|
||||
room.emit(RoomEvent.MyMembership, room, KnownMembership.Join);
|
||||
expect(call.connectionState).toBe(ConnectionState.Connected);
|
||||
});
|
||||
|
||||
|
@ -911,14 +919,14 @@ describe("ElementCall", () => {
|
|||
it("disconnects when we leave the room", async () => {
|
||||
await callConnectProcedure(call);
|
||||
expect(call.connectionState).toBe(ConnectionState.Connected);
|
||||
room.emit(RoomEvent.MyMembership, room, Membership.Leave);
|
||||
room.emit(RoomEvent.MyMembership, room, KnownMembership.Leave);
|
||||
expect(call.connectionState).toBe(ConnectionState.Disconnected);
|
||||
});
|
||||
|
||||
it("remains connected if we stay in the room", async () => {
|
||||
await callConnectProcedure(call);
|
||||
expect(call.connectionState).toBe(ConnectionState.Connected);
|
||||
room.emit(RoomEvent.MyMembership, room, Membership.Join);
|
||||
room.emit(RoomEvent.MyMembership, room, KnownMembership.Join);
|
||||
expect(call.connectionState).toBe(ConnectionState.Connected);
|
||||
});
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { mocked } from "jest-mock";
|
||||
import { EventType, IContent, MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { EventType, IContent, KnownMembership, MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import SdkConfig from "../../src/SdkConfig";
|
||||
import SettingsStore from "../../src/settings/SettingsStore";
|
||||
|
@ -55,7 +55,7 @@ describe("MemberListStore", () => {
|
|||
type: EventType.RoomMember,
|
||||
state_key: alice,
|
||||
content: {
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
},
|
||||
sender: alice,
|
||||
room_id: roomId,
|
||||
|
@ -77,8 +77,8 @@ describe("MemberListStore", () => {
|
|||
});
|
||||
|
||||
it("loads members in a room", async () => {
|
||||
addMember(room, bob, Membership.Invite);
|
||||
addMember(room, charlie, Membership.Leave);
|
||||
addMember(room, bob, KnownMembership.Invite);
|
||||
addMember(room, charlie, KnownMembership.Leave);
|
||||
|
||||
const { invited, joined } = await store.loadMemberList(roomId);
|
||||
expect(invited).toEqual([room.getMember(bob)]);
|
||||
|
@ -92,8 +92,8 @@ describe("MemberListStore", () => {
|
|||
});
|
||||
|
||||
it("sorts by power level", async () => {
|
||||
addMember(room, bob, Membership.Join);
|
||||
addMember(room, charlie, Membership.Join);
|
||||
addMember(room, bob, KnownMembership.Join);
|
||||
addMember(room, charlie, KnownMembership.Join);
|
||||
setPowerLevels(room, {
|
||||
users: {
|
||||
[alice]: 100,
|
||||
|
@ -109,8 +109,8 @@ describe("MemberListStore", () => {
|
|||
|
||||
it("sorts by name if power level is equal", async () => {
|
||||
const doris = "@doris:bar";
|
||||
addMember(room, bob, Membership.Join);
|
||||
addMember(room, charlie, Membership.Join);
|
||||
addMember(room, bob, KnownMembership.Join);
|
||||
addMember(room, charlie, KnownMembership.Join);
|
||||
setPowerLevels(room, {
|
||||
users_default: 10,
|
||||
});
|
||||
|
@ -120,7 +120,7 @@ describe("MemberListStore", () => {
|
|||
expect(joined).toEqual([room.getMember(alice), room.getMember(bob), room.getMember(charlie)]);
|
||||
|
||||
// Ensure it sorts by display name if they are set
|
||||
addMember(room, doris, Membership.Join, "AAAAA");
|
||||
addMember(room, doris, KnownMembership.Join, "AAAAA");
|
||||
({ invited, joined } = await store.loadMemberList(roomId));
|
||||
expect(invited).toEqual([]);
|
||||
expect(joined).toEqual([
|
||||
|
@ -134,15 +134,15 @@ describe("MemberListStore", () => {
|
|||
it("filters based on a search query", async () => {
|
||||
const mice = "@mice:bar";
|
||||
const zorro = "@zorro:bar";
|
||||
addMember(room, bob, Membership.Join);
|
||||
addMember(room, mice, Membership.Join);
|
||||
addMember(room, bob, KnownMembership.Join);
|
||||
addMember(room, mice, KnownMembership.Join);
|
||||
|
||||
let { invited, joined } = await store.loadMemberList(roomId, "ice");
|
||||
expect(invited).toEqual([]);
|
||||
expect(joined).toEqual([room.getMember(alice), room.getMember(mice)]);
|
||||
|
||||
// Ensure it filters by display name if they are set
|
||||
addMember(room, zorro, Membership.Join, "ice ice baby");
|
||||
addMember(room, zorro, KnownMembership.Join, "ice ice baby");
|
||||
({ invited, joined } = await store.loadMemberList(roomId, "ice"));
|
||||
expect(invited).toEqual([]);
|
||||
expect(joined).toEqual([room.getMember(alice), room.getMember(zorro), room.getMember(mice)]);
|
||||
|
@ -180,7 +180,7 @@ describe("MemberListStore", () => {
|
|||
type: EventType.RoomMember,
|
||||
state_key: bob,
|
||||
content: {
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
displayname: "Bob",
|
||||
},
|
||||
sender: bob,
|
||||
|
|
|
@ -24,6 +24,7 @@ import {
|
|||
RoomMember,
|
||||
ContentHelpers,
|
||||
M_BEACON,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { logger } from "matrix-js-sdk/src/logger";
|
||||
import { Mocked } from "jest-mock";
|
||||
|
@ -556,7 +557,7 @@ describe("OwnBeaconStore", () => {
|
|||
|
||||
it("destroys and removes beacons when current user leaves room", async () => {
|
||||
// alice leaves room1
|
||||
const membershipEvent = makeMembershipEvent(room1Id, aliceId, Membership.Leave);
|
||||
const membershipEvent = makeMembershipEvent(room1Id, aliceId, KnownMembership.Leave);
|
||||
const member = new RoomMember(room1Id, aliceId);
|
||||
member.setMembershipEvent(membershipEvent);
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ import {
|
|||
MatrixEvent,
|
||||
Room,
|
||||
RoomEvent,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { defer } from "matrix-js-sdk/src/utils";
|
||||
|
||||
|
@ -57,13 +58,13 @@ const fav2 = "!fav2:server";
|
|||
const fav3 = "!fav3:server";
|
||||
const dm1 = "!dm1:server";
|
||||
const dm1Partner = new RoomMember(dm1, "@dm1Partner:server");
|
||||
dm1Partner.membership = Membership.Join;
|
||||
dm1Partner.membership = KnownMembership.Join;
|
||||
const dm2 = "!dm2:server";
|
||||
const dm2Partner = new RoomMember(dm2, "@dm2Partner:server");
|
||||
dm2Partner.membership = Membership.Join;
|
||||
dm2Partner.membership = KnownMembership.Join;
|
||||
const dm3 = "!dm3:server";
|
||||
const dm3Partner = new RoomMember(dm3, "@dm3Partner:server");
|
||||
dm3Partner.membership = Membership.Join;
|
||||
dm3Partner.membership = KnownMembership.Join;
|
||||
const orphan1 = "!orphan1:server";
|
||||
const orphan2 = "!orphan2:server";
|
||||
const invite1 = "!invite1:server";
|
||||
|
@ -289,7 +290,7 @@ describe("SpaceStore", () => {
|
|||
});
|
||||
|
||||
it("invite to a subspace is only shown at the top level", async () => {
|
||||
mkSpace(invite1).getMyMembership.mockReturnValue(Membership.Invite);
|
||||
mkSpace(invite1).getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
mkSpace(space1, [invite1]);
|
||||
await run();
|
||||
|
||||
|
@ -335,20 +336,20 @@ describe("SpaceStore", () => {
|
|||
});
|
||||
|
||||
[invite1, invite2].forEach((roomId) => {
|
||||
mocked(client.getRoom(roomId)).getMyMembership.mockReturnValue(Membership.Invite);
|
||||
mocked(client.getRoom(roomId)!).getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
});
|
||||
|
||||
// have dmPartner1 be in space1 with you
|
||||
const mySpace1Member = new RoomMember(space1, testUserId);
|
||||
mySpace1Member.membership = Membership.Join;
|
||||
(rooms.find((r) => r.roomId === space1).getMembers as jest.Mock).mockReturnValue([
|
||||
mySpace1Member.membership = KnownMembership.Join;
|
||||
(rooms.find((r) => r.roomId === space1)!.getMembers as jest.Mock).mockReturnValue([
|
||||
mySpace1Member,
|
||||
dm1Partner,
|
||||
]);
|
||||
// have dmPartner2 be in space2 with you
|
||||
const mySpace2Member = new RoomMember(space2, testUserId);
|
||||
mySpace2Member.membership = Membership.Join;
|
||||
(rooms.find((r) => r.roomId === space2).getMembers as jest.Mock).mockReturnValue([
|
||||
mySpace2Member.membership = KnownMembership.Join;
|
||||
(rooms.find((r) => r.roomId === space2)!.getMembers as jest.Mock).mockReturnValue([
|
||||
mySpace2Member,
|
||||
dm2Partner,
|
||||
]);
|
||||
|
@ -683,16 +684,16 @@ describe("SpaceStore", () => {
|
|||
|
||||
it("should add new DM Invites to the People Space Notification State", async () => {
|
||||
mkRoom(dm1);
|
||||
mocked(client.getRoom(dm1)!).getMyMembership.mockReturnValue(Membership.Join);
|
||||
mocked(client.getRoom(dm1)!).getMyMembership.mockReturnValue(KnownMembership.Join);
|
||||
mocked(client).getRoom.mockImplementation((roomId) => rooms.find((room) => room.roomId === roomId) || null);
|
||||
|
||||
await run();
|
||||
|
||||
mkRoom(dm2);
|
||||
const cliDm2 = client.getRoom(dm2)!;
|
||||
mocked(cliDm2).getMyMembership.mockReturnValue(Membership.Invite);
|
||||
mocked(cliDm2).getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
mocked(client).getRoom.mockImplementation((roomId) => rooms.find((room) => room.roomId === roomId) || null);
|
||||
client.emit(RoomEvent.MyMembership, cliDm2, Membership.Invite);
|
||||
client.emit(RoomEvent.MyMembership, cliDm2, KnownMembership.Invite);
|
||||
|
||||
[dm1, dm2].forEach((d) => {
|
||||
expect(
|
||||
|
@ -721,9 +722,9 @@ describe("SpaceStore", () => {
|
|||
await run();
|
||||
|
||||
expect(store.spacePanelSpaces).toStrictEqual([space]);
|
||||
space.getMyMembership.mockReturnValue(Membership.Leave);
|
||||
space.getMyMembership.mockReturnValue(KnownMembership.Leave);
|
||||
const prom = testUtils.emitPromise(store, UPDATE_TOP_LEVEL_SPACES);
|
||||
client.emit(RoomEvent.MyMembership, space, Membership.Leave, Membership.Join);
|
||||
client.emit(RoomEvent.MyMembership, space, KnownMembership.Leave, KnownMembership.Join);
|
||||
await prom;
|
||||
expect(store.spacePanelSpaces).toStrictEqual([]);
|
||||
});
|
||||
|
@ -733,7 +734,7 @@ describe("SpaceStore", () => {
|
|||
expect(store.spacePanelSpaces).toStrictEqual([]);
|
||||
expect(store.invitedSpaces).toStrictEqual([]);
|
||||
const space = mkSpace(space1);
|
||||
space.getMyMembership.mockReturnValue(Membership.Invite);
|
||||
space.getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
const prom = testUtils.emitPromise(store, UPDATE_INVITED_SPACES);
|
||||
client.emit(ClientEvent.Room, space);
|
||||
await prom;
|
||||
|
@ -743,14 +744,14 @@ describe("SpaceStore", () => {
|
|||
|
||||
it("updates state when space invite is accepted", async () => {
|
||||
const space = mkSpace(space1);
|
||||
space.getMyMembership.mockReturnValue(Membership.Invite);
|
||||
space.getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
await run();
|
||||
|
||||
expect(store.spacePanelSpaces).toStrictEqual([]);
|
||||
expect(store.invitedSpaces).toStrictEqual([space]);
|
||||
space.getMyMembership.mockReturnValue(Membership.Join);
|
||||
space.getMyMembership.mockReturnValue(KnownMembership.Join);
|
||||
const prom = testUtils.emitPromise(store, UPDATE_TOP_LEVEL_SPACES);
|
||||
client.emit(RoomEvent.MyMembership, space, Membership.Join, Membership.Invite);
|
||||
client.emit(RoomEvent.MyMembership, space, KnownMembership.Join, KnownMembership.Invite);
|
||||
await prom;
|
||||
expect(store.spacePanelSpaces).toStrictEqual([space]);
|
||||
expect(store.invitedSpaces).toStrictEqual([]);
|
||||
|
@ -758,14 +759,14 @@ describe("SpaceStore", () => {
|
|||
|
||||
it("updates state when space invite is rejected", async () => {
|
||||
const space = mkSpace(space1);
|
||||
space.getMyMembership.mockReturnValue(Membership.Invite);
|
||||
space.getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
await run();
|
||||
|
||||
expect(store.spacePanelSpaces).toStrictEqual([]);
|
||||
expect(store.invitedSpaces).toStrictEqual([space]);
|
||||
space.getMyMembership.mockReturnValue(Membership.Leave);
|
||||
space.getMyMembership.mockReturnValue(KnownMembership.Leave);
|
||||
const prom = testUtils.emitPromise(store, UPDATE_INVITED_SPACES);
|
||||
client.emit(RoomEvent.MyMembership, space, Membership.Leave, Membership.Invite);
|
||||
client.emit(RoomEvent.MyMembership, space, KnownMembership.Leave, KnownMembership.Invite);
|
||||
await prom;
|
||||
expect(store.spacePanelSpaces).toStrictEqual([]);
|
||||
expect(store.invitedSpaces).toStrictEqual([]);
|
||||
|
@ -783,7 +784,7 @@ describe("SpaceStore", () => {
|
|||
expect(store.isRoomInSpace(MetaSpace.Home, invite1)).toBeFalsy();
|
||||
|
||||
const invite = mkRoom(invite1);
|
||||
invite.getMyMembership.mockReturnValue(Membership.Invite);
|
||||
invite.getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
const prom = testUtils.emitPromise(store, space1);
|
||||
client.emit(ClientEvent.Room, space);
|
||||
await prom;
|
||||
|
@ -845,7 +846,7 @@ describe("SpaceStore", () => {
|
|||
room: spaceId,
|
||||
user: client.getUserId()!,
|
||||
skey: user.userId,
|
||||
content: { membership: Membership.Join },
|
||||
content: { membership: KnownMembership.Join },
|
||||
ts: Date.now(),
|
||||
});
|
||||
const spaceRoom = client.getRoom(spaceId)!;
|
||||
|
@ -926,7 +927,7 @@ describe("SpaceStore", () => {
|
|||
beforeEach(async () => {
|
||||
mkRoom(room1); // not a space
|
||||
mkSpace(space1, [mkSpace(space2).roomId]);
|
||||
mkSpace(space3).getMyMembership.mockReturnValue(Membership.Invite);
|
||||
mkSpace(space3).getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
await run();
|
||||
store.setActiveSpace(MetaSpace.Home);
|
||||
expect(store.activeSpace).toBe(MetaSpace.Home);
|
||||
|
@ -986,7 +987,7 @@ describe("SpaceStore", () => {
|
|||
const event = mkEvent({
|
||||
event: true,
|
||||
type: EventType.RoomMember,
|
||||
content: { membership: Membership.Join },
|
||||
content: { membership: KnownMembership.Join },
|
||||
skey: dm1Partner.userId,
|
||||
user: dm1Partner.userId,
|
||||
room: space1,
|
||||
|
@ -994,7 +995,7 @@ describe("SpaceStore", () => {
|
|||
space.getMember.mockImplementation((userId) => {
|
||||
if (userId === dm1Partner.userId) {
|
||||
const member = new RoomMember(space1, dm1Partner.userId);
|
||||
member.membership = Membership.Join;
|
||||
member.membership = KnownMembership.Join;
|
||||
return member;
|
||||
}
|
||||
return null;
|
||||
|
@ -1249,15 +1250,15 @@ describe("SpaceStore", () => {
|
|||
|
||||
// receive invite to space
|
||||
const rootSpace = mkSpace(space1, [room1, room2, space2]);
|
||||
rootSpace.getMyMembership.mockReturnValue(Membership.Invite);
|
||||
rootSpace.getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
client.emit(ClientEvent.Room, rootSpace);
|
||||
jest.runOnlyPendingTimers();
|
||||
expect(SpaceStore.instance.invitedSpaces).toStrictEqual([rootSpace]);
|
||||
expect(SpaceStore.instance.spacePanelSpaces).toStrictEqual([]);
|
||||
|
||||
// accept invite to space
|
||||
rootSpace.getMyMembership.mockReturnValue(Membership.Join);
|
||||
client.emit(RoomEvent.MyMembership, rootSpace, Membership.Join, Membership.Invite);
|
||||
rootSpace.getMyMembership.mockReturnValue(KnownMembership.Join);
|
||||
client.emit(RoomEvent.MyMembership, rootSpace, KnownMembership.Join, KnownMembership.Invite);
|
||||
jest.runOnlyPendingTimers();
|
||||
expect(SpaceStore.instance.invitedSpaces).toStrictEqual([]);
|
||||
expect(SpaceStore.instance.spacePanelSpaces).toStrictEqual([rootSpace]);
|
||||
|
@ -1265,7 +1266,7 @@ describe("SpaceStore", () => {
|
|||
// join room in space
|
||||
expect(SpaceStore.instance.isRoomInSpace(space1, room1)).toBeFalsy();
|
||||
const rootSpaceRoom1 = mkRoom(room1);
|
||||
rootSpaceRoom1.getMyMembership.mockReturnValue(Membership.Join);
|
||||
rootSpaceRoom1.getMyMembership.mockReturnValue(KnownMembership.Join);
|
||||
client.emit(ClientEvent.Room, rootSpaceRoom1);
|
||||
jest.runOnlyPendingTimers();
|
||||
expect(SpaceStore.instance.invitedSpaces).toStrictEqual([]);
|
||||
|
@ -1279,7 +1280,7 @@ describe("SpaceStore", () => {
|
|||
// receive room invite
|
||||
expect(SpaceStore.instance.isRoomInSpace(space1, room2)).toBeFalsy();
|
||||
const rootSpaceRoom2 = mkRoom(room2);
|
||||
rootSpaceRoom2.getMyMembership.mockReturnValue(Membership.Invite);
|
||||
rootSpaceRoom2.getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
client.emit(ClientEvent.Room, rootSpaceRoom2);
|
||||
jest.runOnlyPendingTimers();
|
||||
expect(SpaceStore.instance.invitedSpaces).toStrictEqual([]);
|
||||
|
@ -1292,9 +1293,9 @@ describe("SpaceStore", () => {
|
|||
|
||||
// start DM in space
|
||||
const myRootSpaceMember = new RoomMember(space1, testUserId);
|
||||
myRootSpaceMember.membership = Membership.Join;
|
||||
myRootSpaceMember.membership = KnownMembership.Join;
|
||||
const rootSpaceFriend = new RoomMember(space1, dm1Partner.userId);
|
||||
rootSpaceFriend.membership = Membership.Join;
|
||||
rootSpaceFriend.membership = KnownMembership.Join;
|
||||
rootSpace.getMembers.mockReturnValue([myRootSpaceMember, rootSpaceFriend]);
|
||||
rootSpace.getMember.mockImplementation((userId) => {
|
||||
switch (userId) {
|
||||
|
@ -1310,7 +1311,7 @@ describe("SpaceStore", () => {
|
|||
event: true,
|
||||
type: EventType.RoomMember,
|
||||
content: {
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
},
|
||||
skey: dm1Partner.userId,
|
||||
user: dm1Partner.userId,
|
||||
|
@ -1320,7 +1321,7 @@ describe("SpaceStore", () => {
|
|||
jest.runOnlyPendingTimers();
|
||||
expect(SpaceStore.instance.getSpaceFilteredUserIds(space1)!.has(dm1Partner.userId)).toBeTruthy();
|
||||
const dm1Room = mkRoom(dm1);
|
||||
dm1Room.getMyMembership.mockReturnValue(Membership.Join);
|
||||
dm1Room.getMyMembership.mockReturnValue(KnownMembership.Join);
|
||||
client.emit(ClientEvent.Room, dm1Room);
|
||||
jest.runOnlyPendingTimers();
|
||||
expect(SpaceStore.instance.invitedSpaces).toStrictEqual([]);
|
||||
|
@ -1333,7 +1334,7 @@ describe("SpaceStore", () => {
|
|||
|
||||
// join subspace
|
||||
const subspace = mkSpace(space2);
|
||||
subspace.getMyMembership.mockReturnValue(Membership.Join);
|
||||
subspace.getMyMembership.mockReturnValue(KnownMembership.Join);
|
||||
const prom = testUtils.emitPromise(SpaceStore.instance, space1);
|
||||
client.emit(ClientEvent.Room, subspace);
|
||||
jest.runOnlyPendingTimers();
|
||||
|
|
|
@ -22,6 +22,7 @@ import {
|
|||
NotificationCountType,
|
||||
EventType,
|
||||
MatrixEvent,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import type { MatrixClient } from "matrix-js-sdk/src/matrix";
|
||||
|
@ -119,7 +120,7 @@ describe("RoomNotificationState", () => {
|
|||
|
||||
muteRoom(room);
|
||||
setUnreads(room, 1234, 0);
|
||||
room.updateMyMembership(Membership.Join); // emit
|
||||
room.updateMyMembership(KnownMembership.Join); // emit
|
||||
|
||||
expect(roomNotifState.level).toBe(NotificationLevel.None);
|
||||
expect(roomNotifState.symbol).toBe(null);
|
||||
|
@ -129,7 +130,7 @@ describe("RoomNotificationState", () => {
|
|||
it("suggests a red ! if the user has been invited to a room", () => {
|
||||
const roomNotifState = new RoomNotificationState(room, false);
|
||||
|
||||
room.updateMyMembership(Membership.Invite); // emit
|
||||
room.updateMyMembership(KnownMembership.Invite); // emit
|
||||
|
||||
expect(roomNotifState.level).toBe(NotificationLevel.Highlight);
|
||||
expect(roomNotifState.symbol).toBe("!");
|
||||
|
@ -140,7 +141,7 @@ describe("RoomNotificationState", () => {
|
|||
const roomNotifState = new RoomNotificationState(room, false);
|
||||
|
||||
setUnreads(room, 4321, 0);
|
||||
room.updateMyMembership(Membership.Join); // emit
|
||||
room.updateMyMembership(KnownMembership.Join); // emit
|
||||
|
||||
expect(roomNotifState.level).toBe(NotificationLevel.Notification);
|
||||
expect(roomNotifState.symbol).toBe(null);
|
||||
|
@ -151,7 +152,7 @@ describe("RoomNotificationState", () => {
|
|||
const roomNotifState = new RoomNotificationState(room, false);
|
||||
|
||||
setUnreads(room, 0, 69);
|
||||
room.updateMyMembership(Membership.Join); // emit
|
||||
room.updateMyMembership(KnownMembership.Join); // emit
|
||||
|
||||
expect(roomNotifState.level).toBe(NotificationLevel.Highlight);
|
||||
expect(roomNotifState.symbol).toBe(null);
|
||||
|
@ -171,7 +172,7 @@ describe("RoomNotificationState", () => {
|
|||
);
|
||||
|
||||
addThread(room);
|
||||
room.updateMyMembership(Membership.Join); // emit
|
||||
room.updateMyMembership(KnownMembership.Join); // emit
|
||||
|
||||
expect(roomNotifState.level).toBe(NotificationLevel.Activity);
|
||||
expect(roomNotifState.symbol).toBe(null);
|
||||
|
|
|
@ -18,6 +18,7 @@ import {
|
|||
ConditionKind,
|
||||
EventType,
|
||||
IPushRule,
|
||||
KnownMembership,
|
||||
MatrixEvent,
|
||||
PendingEventOrdering,
|
||||
PushRuleActionName,
|
||||
|
@ -123,8 +124,8 @@ describe("RoomListStore", () => {
|
|||
// When we tell it we joined a new room that has an old room as
|
||||
// predecessor in the create event
|
||||
const payload = {
|
||||
oldMembership: Membership.Invite,
|
||||
membership: Membership.Join,
|
||||
oldMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Join,
|
||||
room: roomWithCreatePredecessor,
|
||||
};
|
||||
store.onDispatchMyMembership(payload);
|
||||
|
@ -142,8 +143,8 @@ describe("RoomListStore", () => {
|
|||
|
||||
// When we tell it we joined a new room with no predecessor
|
||||
const payload = {
|
||||
oldMembership: Membership.Invite,
|
||||
membership: Membership.Join,
|
||||
oldMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Join,
|
||||
room: roomNoPredecessor,
|
||||
};
|
||||
store.onDispatchMyMembership(payload);
|
||||
|
@ -159,9 +160,9 @@ describe("RoomListStore", () => {
|
|||
const room1 = new Room("!r1:e.com", client, userId, { pendingEventOrdering: PendingEventOrdering.Detached });
|
||||
const room2 = new Room("!r2:e.com", client, userId, { pendingEventOrdering: PendingEventOrdering.Detached });
|
||||
const room3 = new Room("!r3:e.com", client, userId, { pendingEventOrdering: PendingEventOrdering.Detached });
|
||||
room1.updateMyMembership(Membership.Join);
|
||||
room2.updateMyMembership(Membership.Join);
|
||||
room3.updateMyMembership(Membership.Join);
|
||||
room1.updateMyMembership(KnownMembership.Join);
|
||||
room2.updateMyMembership(KnownMembership.Join);
|
||||
room3.updateMyMembership(KnownMembership.Join);
|
||||
DMRoomMap.makeShared(client);
|
||||
const { store } = createStore();
|
||||
client.getVisibleRooms = jest.fn().mockReturnValue([room1, room2, room3]);
|
||||
|
@ -259,8 +260,8 @@ describe("RoomListStore", () => {
|
|||
// When we tell it we joined a new room that has an old room as
|
||||
// predecessor in the create event
|
||||
const payload = {
|
||||
oldMembership: Membership.Invite,
|
||||
membership: Membership.Join,
|
||||
oldMembership: KnownMembership.Invite,
|
||||
membership: KnownMembership.Join,
|
||||
room: roomWithPredecessorEvent,
|
||||
};
|
||||
store.onDispatchMyMembership(payload);
|
||||
|
|
|
@ -15,7 +15,7 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { mocked, MockedObject } from "jest-mock";
|
||||
import { PendingEventOrdering, Room, RoomStateEvent } from "matrix-js-sdk/src/matrix";
|
||||
import { KnownMembership, PendingEventOrdering, Room, RoomStateEvent } from "matrix-js-sdk/src/matrix";
|
||||
import { Widget } from "matrix-widget-api";
|
||||
|
||||
import type { MatrixClient } from "matrix-js-sdk/src/matrix";
|
||||
|
@ -82,7 +82,7 @@ describe("Algorithm", () => {
|
|||
client.reEmitter.reEmit(room, [RoomStateEvent.Events]);
|
||||
client.reEmitter.reEmit(roomWithCall, [RoomStateEvent.Events]);
|
||||
|
||||
for (const room of client.getRooms()) jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Join);
|
||||
for (const room of client.getRooms()) jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Join);
|
||||
algorithm.setKnownRooms(client.getRooms());
|
||||
|
||||
setupAsyncStoreWithClient(CallStore.instance, client);
|
||||
|
|
|
@ -14,13 +14,12 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { Room, MatrixClient } from "matrix-js-sdk/src/matrix";
|
||||
import { Room, MatrixClient, KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { mkMessage, mkRoom, stubClient } from "../../../test-utils";
|
||||
import { MatrixClientPeg } from "../../../../src/MatrixClientPeg";
|
||||
import "../../../../src/stores/room-list/RoomListStore";
|
||||
import { RecentAlgorithm } from "../../../../src/stores/room-list/algorithms/tag-sorting/RecentAlgorithm";
|
||||
import { EffectiveMembership } from "../../../../src/utils/membership";
|
||||
import { makeThreadEvent, mkThread } from "../../../test-utils/threads";
|
||||
import { DefaultTagID } from "../../../../src/stores/room-list/models";
|
||||
|
||||
|
@ -53,7 +52,7 @@ describe("RecentAlgorithm", () => {
|
|||
event: true,
|
||||
});
|
||||
|
||||
room.getMyMembership = () => Membership.Join;
|
||||
room.getMyMembership = () => KnownMembership.Join;
|
||||
|
||||
room.addLiveEvents([event1]);
|
||||
expect(algorithm.getLastTs(room, "@jane:matrix.org")).toBe(5);
|
||||
|
@ -74,7 +73,7 @@ describe("RecentAlgorithm", () => {
|
|||
|
||||
it("works when not a member", () => {
|
||||
const room = mkRoom(cli, "!new:example.org");
|
||||
room.getMyMembership.mockReturnValue(Membership.Invite);
|
||||
room.getMyMembership.mockReturnValue(KnownMembership.Invite);
|
||||
expect(algorithm.getLastTs(room, "@john:matrix.org")).toBe(Number.MAX_SAFE_INTEGER);
|
||||
});
|
||||
});
|
||||
|
@ -84,8 +83,8 @@ describe("RecentAlgorithm", () => {
|
|||
const room1 = new Room("room1", cli, "@bob:matrix.org");
|
||||
const room2 = new Room("room2", cli, "@bob:matrix.org");
|
||||
|
||||
room1.getMyMembership = () => Membership.Join;
|
||||
room2.getMyMembership = () => Membership.Join;
|
||||
room1.getMyMembership = () => KnownMembership.Join;
|
||||
room2.getMyMembership = () => KnownMembership.Join;
|
||||
|
||||
const evt = mkMessage({
|
||||
room: room1.roomId,
|
||||
|
@ -112,8 +111,8 @@ describe("RecentAlgorithm", () => {
|
|||
const room1 = new Room("room1", cli, "@bob:matrix.org");
|
||||
const room2 = new Room("room2", cli, "@bob:matrix.org");
|
||||
|
||||
room1.getMyMembership = () => Membership.Join;
|
||||
room2.getMyMembership = () => Membership.Join;
|
||||
room1.getMyMembership = () => KnownMembership.Join;
|
||||
room2.getMyMembership = () => KnownMembership.Join;
|
||||
|
||||
const evt = mkMessage({
|
||||
room: room1.roomId,
|
||||
|
@ -142,8 +141,8 @@ describe("RecentAlgorithm", () => {
|
|||
const room1 = new Room("room1", cli, "@bob:matrix.org");
|
||||
const room2 = new Room("room2", cli, "@bob:matrix.org");
|
||||
|
||||
room1.getMyMembership = () => Membership.Join;
|
||||
room2.getMyMembership = () => Membership.Join;
|
||||
room1.getMyMembership = () => KnownMembership.Join;
|
||||
room2.getMyMembership = () => KnownMembership.Join;
|
||||
|
||||
const { rootEvent, events: events1 } = mkThread({
|
||||
room: room1,
|
||||
|
|
|
@ -15,14 +15,14 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { MockedObject } from "jest-mock";
|
||||
import { MatrixClient, MatrixEvent, EventType, Room, EventTimeline } from "matrix-js-sdk/src/matrix";
|
||||
import { MatrixClient, MatrixEvent, EventType, Room, EventTimeline, KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { IRoomState } from "../../src/components/structures/RoomView";
|
||||
import { TimelineRenderingType } from "../../src/contexts/RoomContext";
|
||||
import { Layout } from "../../src/settings/enums/Layout";
|
||||
import { mkEvent } from "./test-utils";
|
||||
|
||||
export const makeMembershipEvent = (roomId: string, userId: string, membership = Membership.Join) =>
|
||||
export const makeMembershipEvent = (roomId: string, userId: string, membership = KnownMembership.Join) =>
|
||||
mkEvent({
|
||||
event: true,
|
||||
type: EventType.RoomMember,
|
||||
|
|
|
@ -38,6 +38,7 @@ import {
|
|||
JoinRule,
|
||||
IEventDecryptionResult,
|
||||
OidcClientConfig,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { normalize } from "matrix-js-sdk/src/utils";
|
||||
import { ReEmitter } from "matrix-js-sdk/src/ReEmitter";
|
||||
|
@ -49,7 +50,7 @@ import { MatrixRTCSessionManager } from "matrix-js-sdk/src/matrixrtc/MatrixRTCSe
|
|||
// eslint-disable-next-line no-restricted-imports
|
||||
import { MatrixRTCSession } from "matrix-js-sdk/src/matrixrtc/MatrixRTCSession";
|
||||
|
||||
import type { GroupCall } from "matrix-js-sdk/src/matrix";
|
||||
import type { GroupCall, Membership } from "matrix-js-sdk/src/matrix";
|
||||
import { MatrixClientPeg as peg } from "../../src/MatrixClientPeg";
|
||||
import { ValidatedServerConfig } from "../../src/utils/ValidatedServerConfig";
|
||||
import { EnhancedMap } from "../../src/utils/maps";
|
||||
|
@ -391,7 +392,7 @@ export function mkEvent(opts: MakeEventProps): MatrixEvent {
|
|||
if (!mxEvent.sender && opts.user && opts.room) {
|
||||
mxEvent.sender = {
|
||||
userId: opts.user,
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
name: opts.user,
|
||||
rawDisplayName: opts.user,
|
||||
roomId: opts.room,
|
||||
|
@ -506,7 +507,7 @@ export function mkMembership(
|
|||
export function mkRoomMember(
|
||||
roomId: string,
|
||||
userId: string,
|
||||
membership = Membership.Join,
|
||||
membership = KnownMembership.Join,
|
||||
isKicked = false,
|
||||
prevMemberContent: Partial<IContent> = {},
|
||||
): RoomMember {
|
||||
|
@ -654,7 +655,7 @@ export function mkStubRoom(
|
|||
getMembers: jest.fn().mockReturnValue([]),
|
||||
getMembersWithMembership: jest.fn().mockReturnValue([]),
|
||||
getMxcAvatarUrl: () => "mxc://avatar.url/room.png",
|
||||
getMyMembership: jest.fn().mockReturnValue(Membership.Join),
|
||||
getMyMembership: jest.fn().mockReturnValue(KnownMembership.Join),
|
||||
getPendingEvents: () => [] as MatrixEvent[],
|
||||
getReceiptsForEvent: jest.fn().mockReturnValue([]),
|
||||
getRecommendedVersion: jest.fn().mockReturnValue(Promise.resolve("")),
|
||||
|
@ -794,7 +795,7 @@ export const mkRoomMemberJoinEvent = (user: string, room: string, content?: ICon
|
|||
event: true,
|
||||
type: EventType.RoomMember,
|
||||
content: {
|
||||
membership: Membership.Join,
|
||||
membership: KnownMembership.Join,
|
||||
...content,
|
||||
},
|
||||
skey: user,
|
||||
|
|
|
@ -15,7 +15,15 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { mocked } from "jest-mock";
|
||||
import { EventType, MatrixClient, MatrixError, MatrixEvent, Room, RoomMember } from "matrix-js-sdk/src/matrix";
|
||||
import {
|
||||
EventType,
|
||||
KnownMembership,
|
||||
MatrixClient,
|
||||
MatrixError,
|
||||
MatrixEvent,
|
||||
Room,
|
||||
RoomMember,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { MatrixClientPeg } from "../../src/MatrixClientPeg";
|
||||
import Modal, { ComponentType, ComponentProps } from "../../src/Modal";
|
||||
|
@ -168,10 +176,10 @@ describe("MultiInviter", () => {
|
|||
const room = new Room(ROOMID, client, client.getSafeUserId());
|
||||
mocked(client.getRoom).mockReturnValue(room);
|
||||
const ourMember = new RoomMember(ROOMID, client.getSafeUserId());
|
||||
ourMember.membership = Membership.Join;
|
||||
ourMember.membership = KnownMembership.Join;
|
||||
ourMember.powerLevel = 100;
|
||||
const member = new RoomMember(ROOMID, MXID1);
|
||||
member.membership = Membership.Ban;
|
||||
member.membership = KnownMembership.Ban;
|
||||
member.powerLevel = 0;
|
||||
room.getMember = (userId: string) => {
|
||||
if (userId === client.getSafeUserId()) return ourMember;
|
||||
|
|
|
@ -15,7 +15,7 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { mocked } from "jest-mock";
|
||||
import { ClientEvent, MatrixClient, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { ClientEvent, KnownMembership, MatrixClient, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { logger } from "matrix-js-sdk/src/logger";
|
||||
|
||||
import DMRoomMap from "../../src/utils/DMRoomMap";
|
||||
|
@ -86,7 +86,7 @@ describe("direct-messages", () => {
|
|||
});
|
||||
|
||||
room1 = new Room("!room1:example.com", mockClient, userId1);
|
||||
room1.getMyMembership = () => Membership.Join;
|
||||
room1.getMyMembership = () => KnownMembership.Join;
|
||||
|
||||
localRoom = new LocalRoom(LOCAL_ROOM_ID_PREFIX + "test", mockClient, userId1);
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { mocked } from "jest-mock";
|
||||
import { EventType, KNOWN_SAFE_ROOM_VERSION, MatrixClient } from "matrix-js-sdk/src/matrix";
|
||||
import { EventType, KNOWN_SAFE_ROOM_VERSION, KnownMembership, MatrixClient } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { canEncryptToAllUsers } from "../../../src/createRoom";
|
||||
import { LocalRoom, LOCAL_ROOM_ID_PREFIX } from "../../../src/models/LocalRoom";
|
||||
|
@ -37,16 +37,16 @@ function assertLocalRoom(room: LocalRoom, targets: Member[], encrypted: boolean)
|
|||
expect(room.name).toBe(targets.length ? targets[0].name : "Empty Room");
|
||||
expect(room.encrypted).toBe(encrypted);
|
||||
expect(room.targets).toEqual(targets);
|
||||
expect(room.getMyMembership()).toBe(Membership.Join);
|
||||
expect(room.getMyMembership()).toBe(KnownMembership.Join);
|
||||
|
||||
const roomCreateEvent = room.currentState.getStateEvents(EventType.RoomCreate)[0];
|
||||
expect(roomCreateEvent).toBeDefined();
|
||||
expect(roomCreateEvent.getContent()["room_version"]).toBe(KNOWN_SAFE_ROOM_VERSION);
|
||||
|
||||
// check that the user and all targets are joined
|
||||
expect(room.getMember("@userId:matrix.org").membership).toBe(Membership.Join);
|
||||
expect(room.getMember("@userId:matrix.org")?.membership).toBe(KnownMembership.Join);
|
||||
targets.forEach((target: Member) => {
|
||||
expect(room.getMember(target.userId).membership).toBe(Membership.Join);
|
||||
expect(room.getMember(target.userId)?.membership).toBe(KnownMembership.Join);
|
||||
});
|
||||
|
||||
if (encrypted) {
|
||||
|
|
|
@ -15,7 +15,7 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { mocked } from "jest-mock";
|
||||
import { MatrixClient, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { KnownMembership, MatrixClient, Room } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import DMRoomMap from "../../../src/utils/DMRoomMap";
|
||||
import { createTestClient, makeMembershipEvent, mkThirdPartyInviteEvent } from "../../test-utils";
|
||||
|
@ -51,32 +51,32 @@ describe("findDMForUser", () => {
|
|||
mocked(getFunctionalMembers).mockReturnValue([botId]);
|
||||
|
||||
room1 = new Room("!room1:example.com", mockClient, userId1);
|
||||
room1.getMyMembership = () => Membership.Join;
|
||||
room1.getMyMembership = () => KnownMembership.Join;
|
||||
room1.currentState.setStateEvents([
|
||||
makeMembershipEvent(room1.roomId, userId1, Membership.Join),
|
||||
makeMembershipEvent(room1.roomId, userId2, Membership.Join),
|
||||
makeMembershipEvent(room1.roomId, userId1, KnownMembership.Join),
|
||||
makeMembershipEvent(room1.roomId, userId2, KnownMembership.Join),
|
||||
]);
|
||||
|
||||
// this should not be a DM room because it is a local room
|
||||
room2 = new LocalRoom("!room2:example.com", mockClient, userId1);
|
||||
room2.getMyMembership = () => Membership.Join;
|
||||
room2.getMyMembership = () => KnownMembership.Join;
|
||||
room2.getLastActiveTimestamp = () => 100;
|
||||
|
||||
room3 = new Room("!room3:example.com", mockClient, userId1);
|
||||
room3.getMyMembership = () => Membership.Join;
|
||||
room3.getMyMembership = () => KnownMembership.Join;
|
||||
room3.currentState.setStateEvents([
|
||||
makeMembershipEvent(room3.roomId, userId1, Membership.Join),
|
||||
makeMembershipEvent(room3.roomId, userId2, Membership.Join),
|
||||
makeMembershipEvent(room3.roomId, userId1, KnownMembership.Join),
|
||||
makeMembershipEvent(room3.roomId, userId2, KnownMembership.Join),
|
||||
// Adding the bot user here. Should be excluded when determining if the room is a DM.
|
||||
makeMembershipEvent(room3.roomId, botId, Membership.Join),
|
||||
makeMembershipEvent(room3.roomId, botId, KnownMembership.Join),
|
||||
]);
|
||||
|
||||
// this should not be a DM room because it has only one joined user
|
||||
room4 = new Room("!room4:example.com", mockClient, userId1);
|
||||
room4.getMyMembership = () => Membership.Join;
|
||||
room4.getMyMembership = () => KnownMembership.Join;
|
||||
room4.currentState.setStateEvents([
|
||||
makeMembershipEvent(room4.roomId, userId1, Membership.Invite),
|
||||
makeMembershipEvent(room4.roomId, userId2, Membership.Join),
|
||||
makeMembershipEvent(room4.roomId, userId1, KnownMembership.Invite),
|
||||
makeMembershipEvent(room4.roomId, userId2, KnownMembership.Join),
|
||||
]);
|
||||
|
||||
// this should not be a DM room because it has no users
|
||||
|
@ -85,17 +85,17 @@ describe("findDMForUser", () => {
|
|||
|
||||
// room not correctly stored in userId → room map; should be found by the "all rooms" fallback
|
||||
room6 = new Room("!room6:example.com", mockClient, userId1);
|
||||
room6.getMyMembership = () => Membership.Join;
|
||||
room6.getMyMembership = () => KnownMembership.Join;
|
||||
room6.currentState.setStateEvents([
|
||||
makeMembershipEvent(room6.roomId, userId1, Membership.Join),
|
||||
makeMembershipEvent(room6.roomId, userId3, Membership.Join),
|
||||
makeMembershipEvent(room6.roomId, userId1, KnownMembership.Join),
|
||||
makeMembershipEvent(room6.roomId, userId3, KnownMembership.Join),
|
||||
]);
|
||||
|
||||
// room with pending third-party invite
|
||||
room7 = new Room("!room7:example.com", mockClient, userId1);
|
||||
room7.getMyMembership = () => Membership.Join;
|
||||
room7.getMyMembership = () => KnownMembership.Join;
|
||||
room7.currentState.setStateEvents([
|
||||
makeMembershipEvent(room7.roomId, userId1, Membership.Join),
|
||||
makeMembershipEvent(room7.roomId, userId1, KnownMembership.Join),
|
||||
mkThirdPartyInviteEvent(thirdPartyId, "third-party", room7.roomId),
|
||||
]);
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import {
|
|||
RoomMember,
|
||||
RelationType,
|
||||
EventType,
|
||||
KnownMembership,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { MatrixClientPeg } from "../../src/MatrixClientPeg";
|
||||
|
@ -201,8 +202,8 @@ describe("export", function () {
|
|||
getMxcAvatarUrl: () => "mxc://avatar.url/image.png",
|
||||
} as unknown as RoomMember,
|
||||
ts: ts0 + i * 1000,
|
||||
mship: Membership.Join,
|
||||
prevMship: Membership.Join,
|
||||
mship: KnownMembership.Join,
|
||||
prevMship: KnownMembership.Join,
|
||||
name: "A user",
|
||||
}),
|
||||
);
|
||||
|
|
|
@ -15,7 +15,7 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { mocked } from "jest-mock";
|
||||
import { MatrixClient, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { KnownMembership, MatrixClient, Room } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { LocalRoom, LocalRoomState, LOCAL_ROOM_ID_PREFIX } from "../../src/models/LocalRoom";
|
||||
import * as localRoomModule from "../../src/utils/local-room";
|
||||
|
@ -36,7 +36,7 @@ describe("local-room", () => {
|
|||
beforeEach(() => {
|
||||
client = createTestClient();
|
||||
room1 = new Room("!room1:example.com", client, userId1);
|
||||
room1.getMyMembership = () => Membership.Join;
|
||||
room1.getMyMembership = () => KnownMembership.Join;
|
||||
localRoom = new LocalRoom(LOCAL_ROOM_ID_PREFIX + "test", client, "@test:example.com");
|
||||
mocked(client.getRoom).mockImplementation((roomId: string) => {
|
||||
if (roomId === localRoom.roomId) {
|
||||
|
|
|
@ -15,7 +15,7 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { mocked } from "jest-mock";
|
||||
import { EventType, MatrixClient, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { EventType, KnownMembership, MatrixClient, Room } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { LocalRoom, LOCAL_ROOM_ID_PREFIX } from "../../../src/models/LocalRoom";
|
||||
import { DirectoryMember } from "../../../src/utils/direct-messages";
|
||||
|
@ -33,7 +33,7 @@ describe("isRoomReady", () => {
|
|||
beforeEach(() => {
|
||||
client = createTestClient();
|
||||
room1 = new Room("!room1:example.com", client, userId1);
|
||||
room1.getMyMembership = () => Membership.Join;
|
||||
room1.getMyMembership = () => KnownMembership.Join;
|
||||
localRoom = new LocalRoom(LOCAL_ROOM_ID_PREFIX + "test", client, "@test:example.com");
|
||||
});
|
||||
|
||||
|
@ -70,8 +70,8 @@ describe("isRoomReady", () => {
|
|||
describe("and all members have been invited or joined", () => {
|
||||
beforeEach(() => {
|
||||
room1.currentState.setStateEvents([
|
||||
makeMembershipEvent(room1.roomId, userId1, Membership.Join),
|
||||
makeMembershipEvent(room1.roomId, userId2, Membership.Invite),
|
||||
makeMembershipEvent(room1.roomId, userId1, KnownMembership.Join),
|
||||
makeMembershipEvent(room1.roomId, userId2, KnownMembership.Invite),
|
||||
]);
|
||||
});
|
||||
|
||||
|
|
|
@ -14,7 +14,15 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { MatrixClient, MatrixEvent, Room, RoomMember, RoomState, RoomStateEvent } from "matrix-js-sdk/src/matrix";
|
||||
import {
|
||||
KnownMembership,
|
||||
MatrixClient,
|
||||
MatrixEvent,
|
||||
Room,
|
||||
RoomMember,
|
||||
RoomState,
|
||||
RoomStateEvent,
|
||||
} from "matrix-js-sdk/src/matrix";
|
||||
import { mocked } from "jest-mock";
|
||||
|
||||
import { isKnockDenied, waitForMember } from "../../src/utils/membership";
|
||||
|
@ -31,16 +39,18 @@ describe("isKnockDenied", () => {
|
|||
});
|
||||
|
||||
it("checks that the user knock has been denied", () => {
|
||||
const roomMember = mkRoomMember(room.roomId, userId, Membership.Leave, true, { membership: Membership.Knock });
|
||||
const roomMember = mkRoomMember(room.roomId, userId, KnownMembership.Leave, true, {
|
||||
membership: KnownMembership.Knock,
|
||||
});
|
||||
jest.spyOn(room, "getMember").mockReturnValue(roomMember);
|
||||
expect(isKnockDenied(room)).toBe(true);
|
||||
});
|
||||
|
||||
it.each([
|
||||
{ membership: Membership.Leave, isKicked: false, prevMembership: Membership.Invite },
|
||||
{ membership: Membership.Leave, isKicked: true, prevMembership: Membership.Invite },
|
||||
{ membership: Membership.Leave, isKicked: false, prevMembership: Membership.Join },
|
||||
{ membership: Membership.Leave, isKicked: true, prevMembership: Membership.Join },
|
||||
{ membership: KnownMembership.Leave, isKicked: false, prevMembership: KnownMembership.Invite },
|
||||
{ membership: KnownMembership.Leave, isKicked: true, prevMembership: KnownMembership.Invite },
|
||||
{ membership: KnownMembership.Leave, isKicked: false, prevMembership: KnownMembership.Join },
|
||||
{ membership: KnownMembership.Leave, isKicked: true, prevMembership: KnownMembership.Join },
|
||||
])("checks that the user knock has been not denied", ({ membership, isKicked, prevMembership }) => {
|
||||
const roomMember = mkRoomMember(room.roomId, userId, membership, isKicked, { membership: prevMembership });
|
||||
jest.spyOn(room, "getMember").mockReturnValue(roomMember);
|
||||
|
|
|
@ -14,7 +14,7 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { EventEmitter } from "events";
|
||||
import { Room, RoomMember, EventType, MatrixEvent } from "matrix-js-sdk/src/matrix";
|
||||
import { Room, RoomMember, EventType, MatrixEvent, KnownMembership } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { MatrixClientPeg } from "../../../src/MatrixClientPeg";
|
||||
import { PermalinkParts } from "../../../src/utils/permalinks/PermalinkConstructor";
|
||||
|
@ -45,7 +45,7 @@ describe("Permalinks", function () {
|
|||
members: RoomMember[],
|
||||
serverACLContent?: { deny?: string[]; allow?: string[] },
|
||||
): Room {
|
||||
members.forEach((m) => (m.membership = Membership.Join));
|
||||
members.forEach((m) => (m.membership = KnownMembership.Join));
|
||||
const powerLevelsUsers = members.reduce<Record<string, number>>((pl, member) => {
|
||||
if (Number.isFinite(member.powerLevel)) {
|
||||
pl[member.userId] = member.powerLevel;
|
||||
|
@ -152,11 +152,11 @@ describe("Permalinks", function () {
|
|||
const creator = new RoomPermalinkCreator(room, null);
|
||||
creator.load();
|
||||
expect(creator.serverCandidates![0]).toBe("pl_95");
|
||||
member95.membership = Membership.Leave;
|
||||
member95.membership = KnownMembership.Leave;
|
||||
// @ts-ignore illegal private property
|
||||
creator.onRoomStateUpdate();
|
||||
expect(creator.serverCandidates![0]).toBe("pl_75");
|
||||
member95.membership = Membership.Join;
|
||||
member95.membership = KnownMembership.Join;
|
||||
// @ts-ignore illegal private property
|
||||
creator.onRoomStateUpdate();
|
||||
expect(creator.serverCandidates![0]).toBe("pl_95");
|
||||
|
|
|
@ -15,7 +15,7 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { mocked } from "jest-mock";
|
||||
import { JoinRule, Room } from "matrix-js-sdk/src/matrix";
|
||||
import { JoinRule, KnownMembership, Room } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { shouldShowComponent } from "../../../src/customisations/helpers/UIComponents";
|
||||
import { UIComponent } from "../../../src/settings/UIFeature";
|
||||
|
@ -39,7 +39,7 @@ describe("canInviteTo()", () => {
|
|||
...mockClientMethodsUser(userId),
|
||||
});
|
||||
const room = new Room(roomId, client, userId);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Join);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Join);
|
||||
jest.spyOn(room, "getJoinRule").mockReturnValue(JoinRule.Public);
|
||||
jest.spyOn(room, "canInvite").mockReturnValue(true);
|
||||
return room;
|
||||
|
@ -54,7 +54,7 @@ describe("canInviteTo()", () => {
|
|||
|
||||
it("should return false when current user membership is not joined", () => {
|
||||
const room = makeRoom();
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(Membership.Invite);
|
||||
jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Invite);
|
||||
|
||||
expect(canInviteTo(room)).toEqual(false);
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue