Fix a number of remaining test failures
This commit is contained in:
@@ -6,7 +6,7 @@ Please see LICENSE in the repository root for full details.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { act, render } from "@testing-library/react";
|
import { act, render } from "@testing-library/react";
|
||||||
import { expect, test } from "vitest";
|
import { expect, test, vi } from "vitest";
|
||||||
import { TooltipProvider } from "@vector-im/compound-web";
|
import { TooltipProvider } from "@vector-im/compound-web";
|
||||||
import { userEvent } from "@testing-library/user-event";
|
import { userEvent } from "@testing-library/user-event";
|
||||||
import { type ReactNode } from "react";
|
import { type ReactNode } from "react";
|
||||||
@@ -19,6 +19,8 @@ import { alice, local, localRtcMember } from "../utils/test-fixtures";
|
|||||||
import { type MockRTCSession } from "../utils/test";
|
import { type MockRTCSession } from "../utils/test";
|
||||||
import { ReactionsSenderProvider } from "../reactions/useReactionsSender";
|
import { ReactionsSenderProvider } from "../reactions/useReactionsSender";
|
||||||
|
|
||||||
|
vi.mock("livekit-client/e2ee-worker?worker");
|
||||||
|
|
||||||
const localIdent = `${localRtcMember.userId}:${localRtcMember.deviceId}`;
|
const localIdent = `${localRtcMember.userId}:${localRtcMember.deviceId}`;
|
||||||
|
|
||||||
function TestComponent({
|
function TestComponent({
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ Please see LICENSE in the repository root for full details.
|
|||||||
|
|
||||||
import { render } from "@testing-library/react";
|
import { render } from "@testing-library/react";
|
||||||
import {
|
import {
|
||||||
afterAll,
|
|
||||||
beforeEach,
|
beforeEach,
|
||||||
expect,
|
expect,
|
||||||
type MockedFunction,
|
type MockedFunction,
|
||||||
@@ -16,9 +15,17 @@ import {
|
|||||||
afterEach,
|
afterEach,
|
||||||
} from "vitest";
|
} from "vitest";
|
||||||
import { act } from "react";
|
import { act } from "react";
|
||||||
import { type CallMembership } from "matrix-js-sdk/lib/matrixrtc";
|
import { type RoomMember } from "matrix-js-sdk";
|
||||||
|
import {
|
||||||
|
type LivekitTransport,
|
||||||
|
type CallMembership,
|
||||||
|
} from "matrix-js-sdk/lib/matrixrtc";
|
||||||
|
|
||||||
import { mockRtcMembership } from "../utils/test";
|
import {
|
||||||
|
exampleTransport,
|
||||||
|
mockMatrixRoomMember,
|
||||||
|
mockRtcMembership,
|
||||||
|
} from "../utils/test";
|
||||||
import { CallEventAudioRenderer } from "./CallEventAudioRenderer";
|
import { CallEventAudioRenderer } from "./CallEventAudioRenderer";
|
||||||
import { useAudioContext } from "../useAudioContext";
|
import { useAudioContext } from "../useAudioContext";
|
||||||
import { prefetchSounds } from "../soundUtils";
|
import { prefetchSounds } from "../soundUtils";
|
||||||
@@ -26,21 +33,23 @@ import { getBasicCallViewModelEnvironment } from "../utils/test-viewmodel";
|
|||||||
import {
|
import {
|
||||||
alice,
|
alice,
|
||||||
aliceRtcMember,
|
aliceRtcMember,
|
||||||
|
bob,
|
||||||
bobRtcMember,
|
bobRtcMember,
|
||||||
local,
|
local,
|
||||||
localRtcMember,
|
localRtcMember,
|
||||||
} from "../utils/test-fixtures";
|
} from "../utils/test-fixtures";
|
||||||
import { MAX_PARTICIPANT_COUNT_FOR_SOUND } from "../state/CallViewModel";
|
import { MAX_PARTICIPANT_COUNT_FOR_SOUND } from "../state/CallViewModel";
|
||||||
|
|
||||||
|
vitest.mock("livekit-client/e2ee-worker?worker");
|
||||||
vitest.mock("../useAudioContext");
|
vitest.mock("../useAudioContext");
|
||||||
vitest.mock("../soundUtils");
|
vitest.mock("../soundUtils");
|
||||||
|
vitest.mock("../rtcSessionHelpers", async (importOriginal) => ({
|
||||||
|
...(await importOriginal()),
|
||||||
|
makeTransport: (): [LivekitTransport] => [exampleTransport],
|
||||||
|
}));
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
vitest.resetAllMocks();
|
vitest.clearAllMocks();
|
||||||
});
|
|
||||||
|
|
||||||
afterAll(() => {
|
|
||||||
vitest.restoreAllMocks();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
let playSound: MockedFunction<
|
let playSound: MockedFunction<
|
||||||
@@ -70,6 +79,7 @@ test("plays one sound when entering a call", () => {
|
|||||||
const { vm, rtcMemberships$ } = getBasicCallViewModelEnvironment([
|
const { vm, rtcMemberships$ } = getBasicCallViewModelEnvironment([
|
||||||
local,
|
local,
|
||||||
alice,
|
alice,
|
||||||
|
bob,
|
||||||
]);
|
]);
|
||||||
render(<CallEventAudioRenderer vm={vm} />);
|
render(<CallEventAudioRenderer vm={vm} />);
|
||||||
|
|
||||||
@@ -84,6 +94,7 @@ test("plays a sound when a user joins", () => {
|
|||||||
const { vm, rtcMemberships$ } = getBasicCallViewModelEnvironment([
|
const { vm, rtcMemberships$ } = getBasicCallViewModelEnvironment([
|
||||||
local,
|
local,
|
||||||
alice,
|
alice,
|
||||||
|
bob,
|
||||||
]);
|
]);
|
||||||
render(<CallEventAudioRenderer vm={vm} />);
|
render(<CallEventAudioRenderer vm={vm} />);
|
||||||
|
|
||||||
@@ -122,15 +133,16 @@ test("does not play a sound before the call is successful", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("plays no sound when the participant list is more than the maximum size", () => {
|
test("plays no sound when the participant list is more than the maximum size", () => {
|
||||||
|
const mockMembers: RoomMember[] = [local];
|
||||||
const mockRtcMemberships: CallMembership[] = [localRtcMember];
|
const mockRtcMemberships: CallMembership[] = [localRtcMember];
|
||||||
for (let i = 0; i < MAX_PARTICIPANT_COUNT_FOR_SOUND; i++) {
|
for (let i = 0; i < MAX_PARTICIPANT_COUNT_FOR_SOUND; i++) {
|
||||||
mockRtcMemberships.push(
|
const membership = mockRtcMembership(`@user${i}:example.org`, `DEVICE${i}`);
|
||||||
mockRtcMembership(`@user${i}:example.org`, `DEVICE${i}`),
|
mockMembers.push(mockMatrixRoomMember(membership));
|
||||||
);
|
mockRtcMemberships.push(membership);
|
||||||
}
|
}
|
||||||
|
|
||||||
const { vm, rtcMemberships$ } = getBasicCallViewModelEnvironment(
|
const { vm, rtcMemberships$ } = getBasicCallViewModelEnvironment(
|
||||||
[local, alice],
|
mockMembers,
|
||||||
mockRtcMemberships,
|
mockRtcMemberships,
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -150,6 +162,7 @@ test("plays one sound when a hand is raised", () => {
|
|||||||
const { vm, handRaisedSubject$ } = getBasicCallViewModelEnvironment([
|
const { vm, handRaisedSubject$ } = getBasicCallViewModelEnvironment([
|
||||||
local,
|
local,
|
||||||
alice,
|
alice,
|
||||||
|
bob,
|
||||||
]);
|
]);
|
||||||
render(<CallEventAudioRenderer vm={vm} />);
|
render(<CallEventAudioRenderer vm={vm} />);
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ vi.mock("../useAudioContext");
|
|||||||
vi.mock("../tile/GridTile");
|
vi.mock("../tile/GridTile");
|
||||||
vi.mock("../tile/SpotlightTile");
|
vi.mock("../tile/SpotlightTile");
|
||||||
vi.mock("@livekit/components-react");
|
vi.mock("@livekit/components-react");
|
||||||
|
vi.mock("livekit-client/e2ee-worker?worker");
|
||||||
vi.mock("../e2ee/sharedKeyManagement");
|
vi.mock("../e2ee/sharedKeyManagement");
|
||||||
vi.mock("../livekit/MatrixAudioRenderer");
|
vi.mock("../livekit/MatrixAudioRenderer");
|
||||||
vi.mock("react-use-measure", () => ({
|
vi.mock("react-use-measure", () => ({
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ function TestComponent({ vm }: { vm: CallViewModel }): ReactNode {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vitest.mock("livekit-client/e2ee-worker?worker");
|
||||||
vitest.mock("../useAudioContext");
|
vitest.mock("../useAudioContext");
|
||||||
vitest.mock("../soundUtils");
|
vitest.mock("../soundUtils");
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Please see LICENSE in the repository root for full details.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { render } from "@testing-library/react";
|
import { render } from "@testing-library/react";
|
||||||
import { expect, test, afterEach } from "vitest";
|
import { expect, test, afterEach, vi } from "vitest";
|
||||||
import { act } from "react";
|
import { act } from "react";
|
||||||
|
|
||||||
import { showReactions } from "../settings/settings";
|
import { showReactions } from "../settings/settings";
|
||||||
@@ -20,6 +20,8 @@ import {
|
|||||||
} from "../utils/test-fixtures";
|
} from "../utils/test-fixtures";
|
||||||
import { getBasicCallViewModelEnvironment } from "../utils/test-viewmodel";
|
import { getBasicCallViewModelEnvironment } from "../utils/test-viewmodel";
|
||||||
|
|
||||||
|
vi.mock("livekit-client/e2ee-worker?worker");
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
showReactions.setValue(showReactions.defaultValue);
|
showReactions.setValue(showReactions.defaultValue);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -83,20 +83,32 @@ exports[`InCallView > rendering > renders 1`] = `
|
|||||||
class="nav rightNav"
|
class="nav rightNav"
|
||||||
/>
|
/>
|
||||||
</header>
|
</header>
|
||||||
|
<div>
|
||||||
|
mocked: MatrixAudioRenderer
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="scrollingGrid grid"
|
class="scrollingGrid grid"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="scrolling"
|
class="layer"
|
||||||
style="--gap: 20px; --width: NaNpx; --height: NaNpx;"
|
>
|
||||||
/>
|
<div
|
||||||
|
class="container slot"
|
||||||
|
data-id="1"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="slot local slot"
|
||||||
|
data-block-alignment="start"
|
||||||
|
data-id="0"
|
||||||
|
data-inline-alignment="end"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="fixedGrid grid"
|
class="fixedGrid grid"
|
||||||
>
|
>
|
||||||
<div
|
<div />
|
||||||
class="fixed"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="bg animate"
|
class="bg animate"
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import {
|
|||||||
type Room,
|
type Room,
|
||||||
SyncState,
|
SyncState,
|
||||||
} from "matrix-js-sdk";
|
} from "matrix-js-sdk";
|
||||||
|
import { ConnectionState, type Room as LivekitRoom } from "livekit-client";
|
||||||
|
|
||||||
import { E2eeType } from "../e2ee/e2eeType";
|
import { E2eeType } from "../e2ee/e2eeType";
|
||||||
import {
|
import {
|
||||||
@@ -23,6 +24,8 @@ import {
|
|||||||
type CallViewModelOptions,
|
type CallViewModelOptions,
|
||||||
} from "../state/CallViewModel";
|
} from "../state/CallViewModel";
|
||||||
import {
|
import {
|
||||||
|
mockLivekitRoom,
|
||||||
|
mockLocalParticipant,
|
||||||
mockMatrixRoom,
|
mockMatrixRoom,
|
||||||
mockMediaDevices,
|
mockMediaDevices,
|
||||||
mockMuteStates,
|
mockMuteStates,
|
||||||
@@ -31,6 +34,7 @@ import {
|
|||||||
} from "./test";
|
} from "./test";
|
||||||
import { aliceRtcMember, localRtcMember } from "./test-fixtures";
|
import { aliceRtcMember, localRtcMember } from "./test-fixtures";
|
||||||
import { type RaisedHandInfo, type ReactionInfo } from "../reactions";
|
import { type RaisedHandInfo, type ReactionInfo } from "../reactions";
|
||||||
|
import { constant } from "../state/Behavior";
|
||||||
|
|
||||||
export function getBasicRTCSession(
|
export function getBasicRTCSession(
|
||||||
members: RoomMember[],
|
members: RoomMember[],
|
||||||
@@ -142,6 +146,14 @@ export function getBasicCallViewModelEnvironment(
|
|||||||
mockMuteStates(),
|
mockMuteStates(),
|
||||||
{
|
{
|
||||||
encryptionSystem: { kind: E2eeType.PER_PARTICIPANT },
|
encryptionSystem: { kind: E2eeType.PER_PARTICIPANT },
|
||||||
|
livekitRoomFactory: (): LivekitRoom =>
|
||||||
|
mockLivekitRoom({
|
||||||
|
localParticipant: mockLocalParticipant({ identity: "" }),
|
||||||
|
remoteParticipants: new Map(),
|
||||||
|
disconnect: async () => Promise.resolve(),
|
||||||
|
setE2EEEnabled: async () => Promise.resolve(),
|
||||||
|
}),
|
||||||
|
connectionState$: constant(ConnectionState.Connected),
|
||||||
...callViewModelOptions,
|
...callViewModelOptions,
|
||||||
},
|
},
|
||||||
handRaisedSubject$,
|
handRaisedSubject$,
|
||||||
|
|||||||
Reference in New Issue
Block a user