Files
ThreadNet-Web/apps/web/test/unit-tests/components/structures/GenericDropdownMenu-test.tsx
T
sorB 3da363517f
Docker / Docker Buildx (push) Has been cancelled
Build Debian package / Build package (release) Has been cancelled
Build and Deploy / prepare (release) Has been cancelled
Deploy release / Deploy to Cloudflare Pages (release) Has been cancelled
Build and Deploy / Trigger Pro pipeline (release) Has been cancelled
Build and Deploy / Windows arm64 (release) Has been cancelled
Build and Deploy / Windows x64 (release) Has been cancelled
Build and Deploy / macOS (release) Has been cancelled
Build and Deploy / Linux amd64 (sqlcipher static) (release) Has been cancelled
Build and Deploy / Linux arm64 (sqlcipher static) (release) Has been cancelled
Build and Deploy / ${{ needs.prepare.outputs.deploy == 'true' && 'Deploy' || 'Deploy (dry-run)' }} (release) Has been cancelled
Build and Deploy / Deploy builds to ESS (release) Has been cancelled
feat: show call participants in room list (Discord-style)
2026-05-10 14:25:35 +02:00

49 lines
1.4 KiB
TypeScript

/*
Copyright 2025 Element Creations Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
import React from "react";
import { render, screen, fireEvent } from "jest-matrix-react";
import {
GenericDropdownMenu,
type GenericDropdownMenuItem,
} from "../../../../src/components/structures/GenericDropdownMenu.tsx";
describe("GenericDropdownMenu", () => {
it("should render check icon for checked option", async () => {
const options: GenericDropdownMenuItem<string>[] = [
{
key: "selected",
label: "Selected",
description: "This item is selected",
},
{
key: "not-selected",
label: "Not selected",
},
];
render(
<GenericDropdownMenu
value="selected"
options={options}
onChange={jest.fn()}
selectedLabel={() => "Selected"}
/>,
);
const trigger = screen.getByRole("button");
fireEvent.click(trigger);
const dropdown = await screen.findByRole("menu");
expect(
dropdown.querySelector('[aria-checked="true"]')?.querySelector(".mx_GenericDropdownMenu_Option--checkIcon"),
).toBeTruthy();
expect(dropdown).toMatchSnapshot();
});
});