Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
add test
Browse files Browse the repository at this point in the history
  • Loading branch information
toger5 committed Jul 9, 2024
1 parent 13404e5 commit 8b09e7d
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions test/Notifier-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ import {
SyncState,
} from "matrix-js-sdk/src/matrix";
import { waitFor } from "@testing-library/react";
// eslint-disable-next-line no-restricted-imports
import { MatrixRTCSession } from "matrix-js-sdk/src/matrixrtc/MatrixRTCSession";

import BasePlatform from "../src/BasePlatform";
import Notifier from "../src/Notifier";
Expand Down Expand Up @@ -53,6 +55,8 @@ import { Action } from "../src/dispatcher/actions";
import { VoiceBroadcastChunkEventType, VoiceBroadcastInfoState } from "../src/voice-broadcast";
import { mkVoiceBroadcastInfoStateEvent } from "./voice-broadcast/utils/test-utils";
import { addReplyToMessageContent } from "../src/utils/Reply";
import { CallStore } from "../src/stores/CallStore";
import { Call, ElementCall } from "../src/models/Call";

jest.mock("../src/utils/notifications", () => ({
// @ts-ignore
Expand Down Expand Up @@ -139,6 +143,11 @@ describe("Notifier", () => {
getRoom: jest.fn(),
getPushActionsForEvent: jest.fn(),
supportsThreads: jest.fn().mockReturnValue(false),
matrixRTC: {
on: jest.fn(),
off: jest.fn(),
getRoomSession: jest.fn(),
},
});

mockClient.pushRules = {
Expand Down Expand Up @@ -455,6 +464,23 @@ describe("Notifier", () => {
expect(ToastStore.sharedInstance().addOrReplaceToast).not.toHaveBeenCalled();
});

it("should not show toast when group call is already connected", () => {
setGroupCallsEnabled(true);
const roomSession = MatrixRTCSession.roomSessionForRoom(mockClient, testRoom);
const spyCallId = jest.spyOn(roomSession, "callId", "get").mockReturnValue("abc123");

mockClient.matrixRTC.getRoomSession.mockReturnValue(roomSession);
ElementCall.create(testRoom);
const mockedElementCall = Call.get(testRoom)!;
const spyConnectedCalls = jest
.spyOn(CallStore.instance, "connectedCalls", "get")
.mockReturnValue(new Set([mockedElementCall]));
emitCallNotifyEvent();
expect(ToastStore.sharedInstance().addOrReplaceToast).not.toHaveBeenCalled();
spyCallId.mockRestore();
spyConnectedCalls.mockRestore();
});

it("should not show toast when calling with non-group call event", () => {
setGroupCallsEnabled(true);

Expand Down

0 comments on commit 8b09e7d

Please sign in to comment.