refactor(inbox): 侧边栏素材列表改为轻量 Flex 布局 — Card→Flex, 新增状态 Tag, hover 切换删除按钮, 左侧竖线选中态

This commit is contained in:
2026-06-03 16:21:56 +08:00
parent 21b557c255
commit abe30ead6a
3 changed files with 132 additions and 36 deletions

View File

@@ -18,7 +18,7 @@ const MOCK_MATERIAL: Material = {
};
describe("MaterialCard", () => {
test("渲染素材描述和创建时间", () => {
test("渲染素材描述、时间和状态标签", () => {
renderWithProviders(
createElement(MaterialCard, {
material: MOCK_MATERIAL,
@@ -29,6 +29,7 @@ describe("MaterialCard", () => {
);
expect(screen.getByText("测试素材描述")).not.toBeNull();
expect(screen.getByText("今天")).not.toBeNull();
expect(screen.getByText("待审核")).not.toBeNull();
});
test("点击卡片触发 onSelect", () => {
@@ -41,8 +42,8 @@ describe("MaterialCard", () => {
selected: false,
}),
);
const card = screen.getByText("测试素材描述").closest(".ant-card")!;
fireEvent.click(card);
const item = screen.getByText("测试素材描述").closest(".material-list-item")!;
fireEvent.click(item);
expect(onSelect).toHaveBeenCalledTimes(1);
});
@@ -71,7 +72,7 @@ describe("MaterialCard", () => {
expect(onSelect).not.toHaveBeenCalled();
});
test("选中状态不再使用 app-inbox-card-selected 类", () => {
test("选中时包含 material-list-item--selected 类", () => {
renderWithProviders(
createElement(MaterialCard, {
material: MOCK_MATERIAL,
@@ -80,7 +81,20 @@ describe("MaterialCard", () => {
selected: true,
}),
);
const card = screen.getByText("测试素材描述").closest(".app-inbox-card-selected");
expect(card).toBeNull();
const item = screen.getByText("测试素材描述").closest(".material-list-item--selected");
expect(item).not.toBeNull();
});
test("未选中时不包含 material-list-item--selected 类名", () => {
renderWithProviders(
createElement(MaterialCard, {
material: MOCK_MATERIAL,
onDelete: vi.fn(),
onSelect: vi.fn(),
selected: false,
}),
);
const item = screen.getByText("测试素材描述").closest(".material-list-item--selected");
expect(item).toBeNull();
});
});