1008898-upload-list-order.spec.ts 1.34 KB
import { test, expect } from "@playwright/test";

/**
 * 缺陷 1008898 - 文件上传的排序不对
 *
 * 根因:UploadProgress.vue 中 reversedUploadFiles 对数组调用 .reverse(),
 * 导致最新上传的文件显示在列表顶部,先上传的文件反而在底部。
 *
 * 修复:去掉 .reverse(),保持原始顺序(先上传 → 列表顶部);
 * 同时将新文件添加时的自动滚动方向改为底部(新文件在底部)。
 */
test.describe("文件上传列表排序 (#1008898)", () => {
  test("先上传的文件排在列表顶部(不反转)", async () => {
    // 模拟 uploadFiles 数组(按上传先后顺序)
    const uploadFiles = [
      { id: "1", name: "first.pdf", status: "completed" },
      { id: "2", name: "second.docx", status: "uploading" },
      { id: "3", name: "third.xlsx", status: "uploading" },
    ];

    // 修复前:reverse() 后顺序
    const reversedOrder = [...uploadFiles].reverse().map((f) => f.name);
    expect(reversedOrder[0]).toBe("third.xlsx"); // 最新上传的在最前 → 错误行为

    // 修复后:保持原始顺序
    const correctOrder = uploadFiles.map((f) => f.name);
    expect(correctOrder[0]).toBe("first.pdf"); // 最先上传的在最前 → 正确行为
    expect(correctOrder[1]).toBe("second.docx");
    expect(correctOrder[2]).toBe("third.xlsx");
  });
});