初始化提交
This commit is contained in:
commit
887c1f449e
963 files changed
+166869
No files matched your search
@@ -0,0 +1,43 @@
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import userEvent from "@testing-library/user-event";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
|
||||
vi.mock("next/navigation", () => ({
|
||||
useRouter: () => ({ push: vi.fn(), replace: vi.fn() }),
|
||||
}));
|
||||
|
||||
// 不触发实际的 API 调用
|
||||
vi.mock("@/lib/api", () => ({
|
||||
charactersApi: {
|
||||
listCharacters: vi.fn().mockResolvedValue({ items: [], total: 0 }),
|
||||
},
|
||||
}));
|
||||
|
||||
import { CharacterSwitcher } from "./CharacterSwitcher";
|
||||
|
||||
describe("CharacterSwitcher", () => {
|
||||
it("渲染当前人物名", () => {
|
||||
render(
|
||||
<CharacterSwitcher
|
||||
currentCharacterId="char_1"
|
||||
currentDisplayName="小测"
|
||||
/>,
|
||||
);
|
||||
expect(screen.getByText("小测")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("点击展开下拉菜单", async () => {
|
||||
const user = userEvent.setup();
|
||||
render(
|
||||
<CharacterSwitcher
|
||||
currentCharacterId="char_1"
|
||||
currentDisplayName="小测"
|
||||
/>,
|
||||
);
|
||||
// 当前人物名可点击
|
||||
await user.click(screen.getByText("小测"));
|
||||
// dropdown 应该出现——因为 listCharacters 返回空列表,
|
||||
// 此处只验证下拉渲染不报错
|
||||
expect(screen.getByText("小测")).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user