test: Add test for new option

review: Remove uneeed {" "}
This commit is contained in:
Valere
2026-05-27 14:03:31 +02:00
parent 187665748b
commit 8011f2579c
3 changed files with 66 additions and 5 deletions

View File

@@ -14,7 +14,11 @@ import type { MatrixClient } from "matrix-js-sdk";
import type { Room as LivekitRoom } from "livekit-client";
import { DeveloperSettingsTab } from "./DeveloperSettingsTab";
import { getSFUConfigWithOpenID } from "../livekit/openIDSFU";
import { customLivekitUrl as customLivekitUrlSetting } from "./settings";
import {
customLivekitUrl as customLivekitUrlSetting,
enableExtendedLivekitLogs as enableExtendedLivekitLogsSetting,
} from "./settings";
// Mock url params hook to avoid environment-dependent snapshot churn.
vi.mock("../UrlParams", () => ({
useUrlParams: (): { mocked: boolean; answer: number } => ({
@@ -248,4 +252,63 @@ describe("DeveloperSettingsTab", () => {
expect(customLivekitUrlSetting.getValue()).toBe(null);
});
});
// Add this test inside the describe("DeveloperSettingsTab", () => { block,
// after the custom livekit url tests:
describe("enable extended livekit logs", () => {
afterEach(() => {
enableExtendedLivekitLogsSetting.setValue(false);
});
it("toggles extended livekit logs setting", async () => {
const user = userEvent.setup();
const client = createMockMatrixClient();
render(
<TooltipProvider>
<DeveloperSettingsTab
client={client}
env={{} as unknown as ImportMetaEnv}
/>
</TooltipProvider>,
);
const checkbox = screen.getByLabelText("Enable extended livekit logs");
// Initial state should be unchecked (default false)
expect(checkbox).not.toBeChecked();
expect(enableExtendedLivekitLogsSetting.getValue()).toBe(false);
// Click to enable
await user.click(checkbox);
expect(checkbox).toBeChecked();
expect(enableExtendedLivekitLogsSetting.getValue()).toBe(true);
// Click to disable
await user.click(checkbox);
expect(checkbox).not.toBeChecked();
expect(enableExtendedLivekitLogsSetting.getValue()).toBe(false);
});
it("reflects the current setting value on render", async () => {
const client = createMockMatrixClient();
// Set the value to true before rendering
enableExtendedLivekitLogsSetting.setValue(true);
render(
<TooltipProvider>
<DeveloperSettingsTab
client={client}
env={{} as unknown as ImportMetaEnv}
/>
</TooltipProvider>,
);
const checkbox = screen.getByLabelText("Enable extended livekit logs");
expect(checkbox).toBeChecked();
expect(enableExtendedLivekitLogsSetting.getValue()).toBe(true);
});
});
});

View File

@@ -230,7 +230,7 @@ export const DeveloperSettingsTab: FC<Props> = ({
},
[setAlwaysShowIphoneEarpiece],
)}
/>{" "}
/>
</FieldRow>
<FieldRow>
<InputField
@@ -244,7 +244,7 @@ export const DeveloperSettingsTab: FC<Props> = ({
},
[setEnableExtendedLivekitLogs],
)}
/>{" "}
/>
</FieldRow>
<EditInPlace
onSubmit={(e) => e.preventDefault()}

View File

@@ -185,7 +185,6 @@ exports[`DeveloperSettingsTab > renders and matches snapshot 1`] = `
Show iPhone earpiece option on all platforms
</label>
</div>
</div>
<div
class="fieldRow"
@@ -223,7 +222,6 @@ exports[`DeveloperSettingsTab > renders and matches snapshot 1`] = `
Enable extended livekit logs
</label>
</div>
</div>
<form
class="_root_19upo_16"