1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-08-07 21:23:00 +03:00

Switch to importing most things from the main matrix-js-sdk export (#11406)

* Switch to importing most things from the main matrix-js-sdk export

* fix imports

* Iterate

* Fix tests
This commit is contained in:
Michael Telatynski
2023-08-15 16:00:17 +01:00
committed by GitHub
parent 0842559fb2
commit ad73b0c16e
52 changed files with 262 additions and 277 deletions

View File

@@ -17,9 +17,8 @@ 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 } from "matrix-js-sdk/src/matrix";
import { MatrixClient, Room, HierarchyRoom } from "matrix-js-sdk/src/matrix";
import { RoomHierarchy } from "matrix-js-sdk/src/room-hierarchy";
import { IHierarchyRoom } from "matrix-js-sdk/src/@types/spaces";
import { MatrixClientPeg } from "../../../src/MatrixClientPeg";
import { mkStubRoom, stubClient } from "../../test-utils";
@@ -85,41 +84,41 @@ describe("SpaceHierarchy", () => {
it("grabs last room that is in hierarchy when latest version is in hierarchy", () => {
const hierarchy = {
roomMap: new Map([
[roomV1.roomId, { room_id: roomV1.roomId } as IHierarchyRoom],
[roomV2.roomId, { room_id: roomV2.roomId } as IHierarchyRoom],
[roomV3.roomId, { room_id: roomV3.roomId } as IHierarchyRoom],
[roomV1.roomId, { room_id: roomV1.roomId } as HierarchyRoom],
[roomV2.roomId, { room_id: roomV2.roomId } as HierarchyRoom],
[roomV3.roomId, { room_id: roomV3.roomId } as HierarchyRoom],
]),
} as RoomHierarchy;
const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as IHierarchyRoom, hierarchy);
const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV1.room_id).toEqual(roomV3.roomId);
const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as IHierarchyRoom, hierarchy);
const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV2.room_id).toEqual(roomV3.roomId);
const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as IHierarchyRoom, hierarchy);
const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV3.room_id).toEqual(roomV3.roomId);
});
it("grabs last room that is in hierarchy when latest version is *not* in hierarchy", () => {
const hierarchy = {
roomMap: new Map([
[roomV1.roomId, { room_id: roomV1.roomId } as IHierarchyRoom],
[roomV2.roomId, { room_id: roomV2.roomId } as IHierarchyRoom],
[roomV1.roomId, { room_id: roomV1.roomId } as HierarchyRoom],
[roomV2.roomId, { room_id: roomV2.roomId } as HierarchyRoom],
]),
} as RoomHierarchy;
const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as IHierarchyRoom, hierarchy);
const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV1.room_id).toEqual(roomV2.roomId);
const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as IHierarchyRoom, hierarchy);
const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV2.room_id).toEqual(roomV2.roomId);
const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as IHierarchyRoom, hierarchy);
const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV3.room_id).toEqual(roomV2.roomId);
});
it("returns specified room when none of the versions is in hierarchy", () => {
const hierarchy = { roomMap: new Map([]) } as RoomHierarchy;
const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as IHierarchyRoom, hierarchy);
const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV1.room_id).toEqual(roomV1.roomId);
const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as IHierarchyRoom, hierarchy);
const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV2.room_id).toEqual(roomV2.roomId);
const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as IHierarchyRoom, hierarchy);
const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV3.room_id).toEqual(roomV3.roomId);
});
@@ -130,7 +129,7 @@ describe("SpaceHierarchy", () => {
it("Passes through the dynamic predecessor setting", async () => {
mocked(client.getRoomUpgradeHistory).mockClear();
const hierarchy = { roomMap: new Map([]) } as RoomHierarchy;
toLocalRoom(client, { room_id: roomV1.roomId } as IHierarchyRoom, hierarchy);
toLocalRoom(client, { room_id: roomV1.roomId } as HierarchyRoom, hierarchy);
expect(client.getRoomUpgradeHistory).toHaveBeenCalledWith(roomV1.roomId, true, false);
});
});
@@ -146,7 +145,7 @@ describe("SpaceHierarchy", () => {
it("Passes through the dynamic predecessor setting", async () => {
mocked(client.getRoomUpgradeHistory).mockClear();
const hierarchy = { roomMap: new Map([]) } as RoomHierarchy;
toLocalRoom(client, { room_id: roomV1.roomId } as IHierarchyRoom, hierarchy);
toLocalRoom(client, { room_id: roomV1.roomId } as HierarchyRoom, hierarchy);
expect(client.getRoomUpgradeHistory).toHaveBeenCalledWith(roomV1.roomId, true, true);
});
});
@@ -183,7 +182,7 @@ describe("SpaceHierarchy", () => {
);
[room1, room2, space1, room3].forEach((r) => mocked(r.getMyMembership).mockReturnValue("leave"));
const hierarchyRoot: IHierarchyRoom = {
const hierarchyRoot: HierarchyRoom = {
room_id: root.roomId,
num_joined_members: 1,
room_type: "m.space",
@@ -213,21 +212,21 @@ describe("SpaceHierarchy", () => {
world_readable: true,
guest_can_join: true,
};
const hierarchyRoom1: IHierarchyRoom = {
const hierarchyRoom1: HierarchyRoom = {
room_id: room1.roomId,
num_joined_members: 2,
children_state: [],
world_readable: true,
guest_can_join: true,
};
const hierarchyRoom2: IHierarchyRoom = {
const hierarchyRoom2: HierarchyRoom = {
room_id: room2.roomId,
num_joined_members: 3,
children_state: [],
world_readable: true,
guest_can_join: true,
};
const hierarchyRoom3: IHierarchyRoom = {
const hierarchyRoom3: HierarchyRoom = {
name: "Nested room",
room_id: room3.roomId,
num_joined_members: 3,
@@ -235,7 +234,7 @@ describe("SpaceHierarchy", () => {
world_readable: true,
guest_can_join: true,
};
const hierarchySpace1: IHierarchyRoom = {
const hierarchySpace1: HierarchyRoom = {
room_id: space1.roomId,
name: "Nested space",
num_joined_members: 1,

View File

@@ -20,7 +20,7 @@ import { mocked, MockedObject } from "jest-mock";
import fetchMock from "fetch-mock-jest";
import { DELEGATED_OIDC_COMPATIBILITY, IdentityProviderBrand } from "matrix-js-sdk/src/@types/auth";
import { logger } from "matrix-js-sdk/src/logger";
import { createClient, MatrixClient } from "matrix-js-sdk/src/matrix";
import * as Matrix from "matrix-js-sdk/src/matrix";
import { OidcError } from "matrix-js-sdk/src/oidc/error";
import SdkConfig from "../../../../src/SdkConfig";
@@ -32,8 +32,6 @@ import { Features } from "../../../../src/settings/Settings";
import { ValidatedDelegatedAuthConfig } from "../../../../src/utils/ValidatedServerConfig";
import * as registerClientUtils from "../../../../src/utils/oidc/registerClient";
jest.mock("matrix-js-sdk/src/matrix");
jest.useRealTimers();
const oidcStaticClientsConfig = {
@@ -48,7 +46,7 @@ describe("Login", function () {
const mockClient = mocked({
login: jest.fn().mockResolvedValue({}),
loginFlows: jest.fn(),
} as unknown as MatrixClient);
} as unknown as Matrix.MatrixClient);
beforeEach(function () {
SdkConfig.put({
@@ -62,7 +60,7 @@ describe("Login", function () {
user_id: "@user:server",
});
mockClient.loginFlows.mockClear().mockResolvedValue({ flows: [{ type: "m.login.password" }] });
mocked(createClient).mockImplementation((opts) => {
jest.spyOn(Matrix, "createClient").mockImplementation((opts) => {
mockClient.idBaseUrl = opts.idBaseUrl;
mockClient.baseUrl = opts.baseUrl;
return mockClient;

View File

@@ -16,8 +16,7 @@ limitations under the License.
import React from "react";
import { act, fireEvent, render } from "@testing-library/react";
import { Beacon, RoomMember, MatrixEvent } from "matrix-js-sdk/src/matrix";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import { Beacon, RoomMember, MatrixEvent, LocationAssetType } from "matrix-js-sdk/src/matrix";
import BeaconListItem from "../../../../src/components/views/beacon/BeaconListItem";
import MatrixClientContext from "../../../../src/contexts/MatrixClientContext";

View File

@@ -16,8 +16,7 @@ limitations under the License.
import React from "react";
import { render, RenderResult } from "@testing-library/react";
import { RoomMember } from "matrix-js-sdk/src/matrix";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import { RoomMember, LocationAssetType } from "matrix-js-sdk/src/matrix";
import LocationViewDialog from "../../../../src/components/views/location/LocationViewDialog";
import { TILE_SERVER_WK_KEY } from "../../../../src/utils/WellKnownUtils";

View File

@@ -15,8 +15,7 @@ limitations under the License.
*/
import { mocked } from "jest-mock";
import { MatrixClient } from "matrix-js-sdk/src/matrix";
import { makeLocationContent } from "matrix-js-sdk/src/content-helpers";
import { ContentHelpers, MatrixClient } from "matrix-js-sdk/src/matrix";
import { LegacyLocationEventContent, MLocationEventContent } from "matrix-js-sdk/src/@types/location";
import { doMaybeLocalRoomAction } from "../../../../src/utils/local-room";
@@ -30,10 +29,6 @@ jest.mock("../../../../src/utils/local-room", () => ({
doMaybeLocalRoomAction: jest.fn(),
}));
jest.mock("matrix-js-sdk/src/content-helpers", () => ({
makeLocationContent: jest.fn(),
}));
describe("shareLocation", () => {
const roomId = "!room:example.com";
const shareType = LocationShareType.Pin;
@@ -42,6 +37,7 @@ describe("shareLocation", () => {
let shareLocationFn: ShareLocationFn;
beforeEach(() => {
const makeLocationContent = jest.spyOn(ContentHelpers, "makeLocationContent");
client = {
sendMessage: jest.fn(),
} as unknown as MatrixClient;

View File

@@ -16,8 +16,7 @@ limitations under the License.
import React, { ComponentProps } from "react";
import { fireEvent, render } from "@testing-library/react";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import { ClientEvent, RoomMember, SyncState } from "matrix-js-sdk/src/matrix";
import { LocationAssetType, ClientEvent, RoomMember, SyncState } from "matrix-js-sdk/src/matrix";
import * as maplibregl from "maplibre-gl";
import { logger } from "matrix-js-sdk/src/logger";

View File

@@ -22,8 +22,8 @@ import {
MatrixEvent,
RoomStateEvent,
RoomMember,
ContentHelpers,
} from "matrix-js-sdk/src/matrix";
import { makeBeaconContent, makeBeaconInfoContent } from "matrix-js-sdk/src/content-helpers";
import { M_BEACON } from "matrix-js-sdk/src/@types/beacon";
import { logger } from "matrix-js-sdk/src/logger";
import { Mocked } from "jest-mock";
@@ -239,12 +239,12 @@ describe("OwnBeaconStore", () => {
expect(mockClient.sendEvent).toHaveBeenCalledWith(
room1Id,
M_BEACON.name,
makeBeaconContent(defaultLocationUri, now, alicesRoom1BeaconInfo.getId()!),
ContentHelpers.makeBeaconContent(defaultLocationUri, now, alicesRoom1BeaconInfo.getId()!),
);
expect(mockClient.sendEvent).toHaveBeenCalledWith(
room2Id,
M_BEACON.name,
makeBeaconContent(defaultLocationUri, now, alicesRoom2BeaconInfo.getId()!),
ContentHelpers.makeBeaconContent(defaultLocationUri, now, alicesRoom2BeaconInfo.getId()!),
);
});
});
@@ -1155,14 +1155,14 @@ describe("OwnBeaconStore", () => {
it("creates a live beacon", async () => {
const store = await makeOwnBeaconStore();
const content = makeBeaconInfoContent(100);
const content = ContentHelpers.makeBeaconInfoContent(100);
await store.createLiveBeacon(room1Id, content);
expect(mockClient.unstable_createLiveBeacon).toHaveBeenCalledWith(room1Id, content);
});
it("sets new beacon event id in local storage", async () => {
const store = await makeOwnBeaconStore();
const content = makeBeaconInfoContent(100);
const content = ContentHelpers.makeBeaconInfoContent(100);
await store.createLiveBeacon(room1Id, content);
expect(localStorageSetSpy).toHaveBeenCalledWith(
@@ -1174,7 +1174,7 @@ describe("OwnBeaconStore", () => {
it("handles saving beacon event id when local storage has bad value", async () => {
localStorageGetSpy.mockReturnValue(JSON.stringify({ id: "1" }));
const store = await makeOwnBeaconStore();
const content = makeBeaconInfoContent(100);
const content = ContentHelpers.makeBeaconInfoContent(100);
await store.createLiveBeacon(room1Id, content);
// stored successfully
@@ -1183,7 +1183,7 @@ describe("OwnBeaconStore", () => {
it("creates a live beacon without error when no beacons exist for room", async () => {
const store = await makeOwnBeaconStore();
const content = makeBeaconInfoContent(100);
const content = ContentHelpers.makeBeaconInfoContent(100);
await store.createLiveBeacon(room1Id, content);
// didn't throw, no error log
@@ -1195,7 +1195,7 @@ describe("OwnBeaconStore", () => {
makeRoomsWithStateEvents([alicesRoom1BeaconInfo, alicesRoom2BeaconInfo]);
const store = await makeOwnBeaconStore();
const content = makeBeaconInfoContent(100);
const content = ContentHelpers.makeBeaconInfoContent(100);
await store.createLiveBeacon(room1Id, content);
// stop alicesRoom1BeaconInfo

View File

@@ -15,10 +15,15 @@ limitations under the License.
*/
import { MockedObject } from "jest-mock";
import { makeBeaconInfoContent, makeBeaconContent } from "matrix-js-sdk/src/content-helpers";
import { MatrixClient, MatrixEvent, Beacon, getBeaconInfoIdentifier } from "matrix-js-sdk/src/matrix";
import {
MatrixClient,
MatrixEvent,
Beacon,
getBeaconInfoIdentifier,
ContentHelpers,
LocationAssetType,
} from "matrix-js-sdk/src/matrix";
import { M_BEACON, M_BEACON_INFO } from "matrix-js-sdk/src/@types/beacon";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import { getMockGeolocationPositionError } from "./location";
import { makeRoomWithStateEvents } from "./room";
@@ -54,7 +59,7 @@ export const makeBeaconInfoEvent = (
room_id: roomId,
state_key: sender,
sender,
content: makeBeaconInfoContent(timeout, isLive, description, assetType, timestamp),
content: ContentHelpers.makeBeaconInfoContent(timeout, isLive, description, assetType, timestamp),
});
event.event.origin_server_ts = Date.now();
@@ -97,7 +102,7 @@ export const makeBeaconEvent = (
type: M_BEACON.name,
room_id: roomId,
sender,
content: makeBeaconContent(geoUri, timestamp, beaconInfoId, description),
content: ContentHelpers.makeBeaconContent(geoUri, timestamp, beaconInfoId, description),
});
};

View File

@@ -15,8 +15,7 @@ limitations under the License.
*/
import { LocationAssetType, M_LOCATION } from "matrix-js-sdk/src/@types/location";
import { makeLocationContent } from "matrix-js-sdk/src/content-helpers";
import { MatrixEvent, EventType } from "matrix-js-sdk/src/matrix";
import { MatrixEvent, EventType, ContentHelpers } from "matrix-js-sdk/src/matrix";
let id = 1;
export const makeLegacyLocationEvent = (geoUri: string): MatrixEvent => {
@@ -35,7 +34,7 @@ export const makeLocationEvent = (geoUri: string, assetType?: LocationAssetType)
return new MatrixEvent({
event_id: `$${++id}`,
type: M_LOCATION.name,
content: makeLocationContent(
content: ContentHelpers.makeLocationContent(
`Found at ${geoUri} at 2021-12-21T12:22+0000`,
geoUri,
252523,

View File

@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { OidcClientConfig } from "matrix-js-sdk/src/autodiscovery";
import { OidcClientConfig } from "matrix-js-sdk/src/matrix";
import { ValidatedIssuerMetadata } from "matrix-js-sdk/src/oidc/validate";
/**

View File

@@ -14,9 +14,8 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { AutoDiscovery, AutoDiscoveryAction, ClientConfig } from "matrix-js-sdk/src/autodiscovery";
import { AutoDiscovery, AutoDiscoveryAction, ClientConfig, M_AUTHENTICATION } from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger";
import { M_AUTHENTICATION } from "matrix-js-sdk/src/matrix";
import AutoDiscoveryUtils from "../../src/utils/AutoDiscoveryUtils";

View File

@@ -22,13 +22,13 @@ import {
M_LOCATION,
M_TIMESTAMP,
} from "matrix-js-sdk/src/@types/location";
import { makeLocationContent } from "matrix-js-sdk/src/content-helpers";
import { ContentHelpers } from "matrix-js-sdk/src/matrix";
import { isSelfLocation } from "../../../src/utils/location";
describe("isSelfLocation", () => {
it("Returns true for a full m.asset event", () => {
const content = makeLocationContent("", "0", Date.now());
const content = ContentHelpers.makeLocationContent("", "0", Date.now());
expect(isSelfLocation(content)).toBe(true);
});
@@ -61,7 +61,7 @@ describe("isSelfLocation", () => {
});
it("Returns false for an unknown asset type", () => {
const content = makeLocationContent(
const content = ContentHelpers.makeLocationContent(
undefined /* text */,
"geo:foo",
0,