Files
TJWaterFrontend_Refine/src/components/olmap/common/PanelEmptyState.test.tsx
T
jiang f34d81c933
Generic Container CI/CD / test-build-publish (push) Successful in 1m1s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 1m1s
fix(flushing): 对齐选择项空状态
2026-08-17 19:36:33 +08:00

51 lines
1.7 KiB
TypeScript

import { render, screen } from "@testing-library/react";
import { DescriptionOutlined } from "@mui/icons-material";
import PanelEmptyState, { SchemeQueryEmptyState } from "./PanelEmptyState";
describe("PanelEmptyState", () => {
it("renders an accessible panel instruction", () => {
render(
<PanelEmptyState
icon={<DescriptionOutlined />}
title="尚未选择分析方案"
description="请在方案查询中打开一个方案。"
/>,
);
expect(screen.getByRole("status")).toHaveAttribute("aria-live", "polite");
expect(screen.getByText("尚未选择分析方案")).toBeInTheDocument();
expect(screen.getByText("请在方案查询中打开一个方案。")).toBeInTheDocument();
});
it("distinguishes initial query guidance from an empty result", () => {
const { rerender } = render(
<SchemeQueryEmptyState hasQueried={false} />,
);
expect(screen.getByText("尚未查询历史方案")).toBeInTheDocument();
rerender(<SchemeQueryEmptyState hasQueried />);
expect(screen.getByText("未找到符合条件的方案")).toBeInTheDocument();
expect(
screen.getByText("请调整查询条件后重新查询,或先创建一个新方案。"),
).toBeInTheDocument();
});
it("supports compact selection guidance", () => {
render(
<PanelEmptyState
variant="compact"
horizontalAlign="start"
title="尚未选择阀门"
description="点击“选择阀门”,然后在地图上添加。"
/>,
);
expect(screen.getByText("尚未选择阀门")).toBeInTheDocument();
expect(screen.getByRole("status")).toHaveStyle({
justifyContent: "flex-start",
});
});
});