fix: harden auto uploads and table layouts
This commit is contained in:
@@ -377,6 +377,13 @@ test("live room table, drawer and dialog retain their final actions", async ({ p
|
||||
await expect(actionHeader).toBeVisible();
|
||||
const box = await actionHeader.boundingBox();
|
||||
expect(box && box.x + box.width).toBeLessThanOrEqual((page.viewportSize()?.width ?? 0) + 1);
|
||||
const fixedActionCell = page.locator("td.el-table-fixed-column--right").first();
|
||||
await expect(fixedActionCell).toBeVisible();
|
||||
const fixedBackground = await fixedActionCell.evaluate((element) =>
|
||||
window.getComputedStyle(element).backgroundColor
|
||||
);
|
||||
expect(fixedBackground).not.toBe("transparent");
|
||||
expect(fixedBackground).not.toMatch(/rgba\([^)]*,\s*0\s*\)$/);
|
||||
}
|
||||
|
||||
await page.getByRole("button", { name: /^查看/ }).first().click();
|
||||
@@ -677,7 +684,7 @@ test("recording failure recovery adapts its actions and long paths to each viewp
|
||||
await expect(page.getByText(recordingFailure.filePath, { exact: true })).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: "确认有效" })).toBeVisible();
|
||||
|
||||
if ((page.viewportSize()?.width ?? 0) <= 767) {
|
||||
if ((page.viewportSize()?.width ?? 0) <= 768) {
|
||||
await expect(page.locator(".failure-card")).toHaveCount(1);
|
||||
await expect(page.getByRole("columnheader", { name: "操作" })).toHaveCount(0);
|
||||
} else {
|
||||
@@ -794,3 +801,49 @@ test("settings layer advanced controls without clipping the quick bar", async ({
|
||||
await expectNoDocumentOverflow(page);
|
||||
await capture(page, testInfo, "settings");
|
||||
});
|
||||
|
||||
test("OpenList test distinguishes login success from a broken destination mount", async ({ page }) => {
|
||||
await page.route("**/api/settings", async (route) => {
|
||||
await route.fulfill({
|
||||
status: 200,
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({
|
||||
enableFileUpload: true,
|
||||
enableAutoUpload: true,
|
||||
uploadTarget: 3,
|
||||
openListUpload: {
|
||||
baseUrl: "https://openlist.example.com",
|
||||
username: "tester",
|
||||
password: "secret",
|
||||
basePath: "/archive",
|
||||
sourcePath: "/source",
|
||||
destinationPath: "/archive"
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
await page.route("**/api/settings/openlist/test", async (route) => {
|
||||
const request = route.request().postDataJSON();
|
||||
expect(request.sourcePath).toBe("/source");
|
||||
expect(request.destinationPath).toBe("/archive");
|
||||
await route.fulfill({
|
||||
status: 200,
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({
|
||||
success: false,
|
||||
version: "4.1.10",
|
||||
message: "OpenList 登录成功,但一个或多个配置目录不可用。",
|
||||
sourcePath: { path: "/source", success: true, canWrite: false, message: "目录可访问。" },
|
||||
destinationPath: { path: "/archive", success: false, canWrite: false, message: "provider timeout" }
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
await page.goto("/settings/upload");
|
||||
await expect(page.getByRole("heading", { name: "OpenList 服务端复制" })).toBeVisible();
|
||||
await page.getByRole("button", { name: "测试连接" }).click();
|
||||
await expect(page.getByText("配置异常", { exact: true })).toBeVisible();
|
||||
await expect(page.getByText("目录可访问。", { exact: true })).toBeVisible();
|
||||
await expect(page.getByText("provider timeout", { exact: true })).toBeVisible();
|
||||
await expectNoDocumentOverflow(page);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user