import { describe, expect, test } from "bun:test"; import { screen } from "@testing-library/react"; import { createElement } from "react"; import { ConsoleShell } from "../../../src/web/shared/components/ConsoleShell/ConsoleShell"; import { installFetchMock, jsonResponse, mockMetaResponse, renderWithProviders } from "../test-utils"; function mockSettingsResponse(): Response { return jsonResponse({ compact: false, theme: "system" }); } describe("ConsoleShell", () => { test("Header 不再渲染主题 Segmented", () => { installFetchMock((call) => { if (call.url.includes("/api/settings")) return mockSettingsResponse(); if (call.url.includes("/api/meta")) return mockMetaResponse(); return jsonResponse({}); }); renderWithProviders(createElement(ConsoleShell, { menuItems: [], title: "测试" })); expect(screen.queryByText("系统")).toBeNull(); }); test("渲染品牌标题", () => { installFetchMock((call) => { if (call.url.includes("/api/settings")) return mockSettingsResponse(); if (call.url.includes("/api/meta")) return mockMetaResponse(); return jsonResponse({}); }); renderWithProviders(createElement(ConsoleShell, { menuItems: [], title: "控制台" })); expect(screen.getByText("控制台")).not.toBeNull(); }); });