diff --git a/test/components/views/rooms/RoomHeader/CallGuestLinkButton-test.tsx b/test/components/views/rooms/RoomHeader/CallGuestLinkButton-test.tsx
index 9d54bb4d8b51..c62e0a4edf4c 100644
--- a/test/components/views/rooms/RoomHeader/CallGuestLinkButton-test.tsx
+++ b/test/components/views/rooms/RoomHeader/CallGuestLinkButton-test.tsx
@@ -17,7 +17,7 @@ limitations under the License.
import React from "react";
import { TooltipProvider } from "@vector-im/compound-web";
import { fireEvent, getByLabelText, render, screen } from "@testing-library/react";
-import { JoinRule, Room } from "matrix-js-sdk/src/matrix";
+import { EventTimeline, JoinRule, Room } from "matrix-js-sdk/src/matrix";
import { KnownMembership } from "matrix-js-sdk/src/types";
import { SDKContext, SdkContextClass } from "../../../../../src/contexts/SDKContext";
@@ -136,6 +136,7 @@ describe("", () => {
expect(callParams[1].subtitle).toEqual(expectedShareDialogProps.subtitle);
expect(callParams[1].customTitle).toEqual(expectedShareDialogProps.customTitle);
});
+
it("shows the ShareDialog on click with knock join rules", () => {
jest.spyOn(room, "getJoinRule").mockReturnValue(JoinRule.Knock);
getComponent(room);
@@ -147,6 +148,16 @@ describe("", () => {
expect(callParams[1].customTitle).toEqual(expectedShareDialogProps.customTitle);
});
+ it("don't show external conference button if room not public nor knock and the user cannot change join rules", () => {
+ jest.spyOn(room, "getLiveTimeline").mockReturnValue({
+ getState: jest.fn().mockReturnValue({
+ maySendStateEvent: jest.fn().mockReturnValue(false),
+ }),
+ } as unknown as EventTimeline);
+ getComponent(room);
+ expect(screen.queryByLabelText("Share call link")).not.toBeInTheDocument();
+ });
+
it("don't show external conference button if now guest spa link is configured", () => {
jest.spyOn(room, "getJoinRule").mockReturnValue(JoinRule.Public);
jest.spyOn(SdkContextClass.instance.roomViewStore, "isViewingCall").mockReturnValue(true);