- 引入 React Router v7 (Declarative mode) 实现 SPA 路由 - 重构 Layout 为 Header + 侧边栏 + 内容区的企业 Admin 布局 - 新增侧边栏菜单组件,支持折叠/展开,状态持久化到 localStorage - 新增示例页面:仪表盘、用户管理、系统设置、404 - 菜单配置与路由统一为单一数据源 (menu.tsx) - Vite code splitting 新增 vendor-router 组 - 更新 DEVELOPMENT.md 和 README.md 文档
25 lines
897 B
TypeScript
25 lines
897 B
TypeScript
import { screen } from "@testing-library/react";
|
|
import { describe, expect, test } from "bun:test";
|
|
import { createElement } from "react";
|
|
|
|
import { Sidebar } from "../../../../src/web/components/Sidebar";
|
|
import { renderWithProviders } from "../../test-utils";
|
|
|
|
describe("Sidebar", () => {
|
|
test("渲染菜单项", () => {
|
|
renderWithProviders(createElement(Sidebar, { collapsed: false }));
|
|
|
|
expect(screen.getByText("仪表盘")).not.toBeNull();
|
|
expect(screen.getByText("用户管理")).not.toBeNull();
|
|
expect(screen.getByText("系统设置")).not.toBeNull();
|
|
});
|
|
|
|
test("折叠状态下仍渲染菜单项", () => {
|
|
renderWithProviders(createElement(Sidebar, { collapsed: true }));
|
|
|
|
expect(screen.getByText("仪表盘")).not.toBeNull();
|
|
expect(screen.getByText("用户管理")).not.toBeNull();
|
|
expect(screen.getByText("系统设置")).not.toBeNull();
|
|
});
|
|
});
|