feat: enhance noise removal tool tests and update Docker configurations for GPU support

This commit is contained in:
ashim-hq
2026-04-20 12:27:07 +08:00
parent d3c3ce0e32
commit e20418c3e1
7 changed files with 74 additions and 23 deletions
+18 -8
View File
@@ -25,8 +25,17 @@ async function removeNoiseAndWait(page: import("@playwright/test").Page) {
}
test.describe("Noise Removal tool", () => {
test("page loads with correct UI sections", async ({ loggedInPage: page }) => {
async function skipIfFeatureNotInstalled(page: import("@playwright/test").Page) {
await page.goto("/noise-removal");
const submit = page.getByTestId("noise-removal-submit");
const visible = await submit.isVisible({ timeout: 5_000 }).catch(() => false);
if (!visible) {
test.skip(true, "upscale-enhance feature bundle not installed");
}
}
test("page loads with correct UI sections", async ({ loggedInPage: page }) => {
await skipIfFeatureNotInstalled(page);
// Tier buttons
await expect(page.getByRole("button", { name: "Quick" })).toBeVisible();
@@ -50,26 +59,27 @@ test.describe("Noise Removal tool", () => {
});
test("submit button enables after file upload", async ({ loggedInPage: page }) => {
await page.goto("/noise-removal");
await expect(page.getByTestId("noise-removal-submit")).toBeDisabled();
await skipIfFeatureNotInstalled(page);
await uploadFile(page, fixturePath("test-200x150.png"));
await expect(page.getByTestId("noise-removal-submit")).toBeEnabled();
});
test("quality slider shows when JPEG or WEBP is selected", async ({ loggedInPage: page }) => {
await page.goto("/noise-removal");
await skipIfFeatureNotInstalled(page);
const qualitySlider = page.getByTestId("quality-slider");
// Quality slider hidden for original/PNG
await expect(page.getByText("Quality")).not.toBeVisible();
await expect(qualitySlider).not.toBeVisible();
await page.getByRole("button", { name: "JPEG" }).click();
await expect(page.getByText("Quality")).toBeVisible();
await expect(qualitySlider).toBeVisible();
await page.getByRole("button", { name: "WEBP" }).click();
await expect(page.getByText("Quality")).toBeVisible();
await expect(qualitySlider).toBeVisible();
await page.getByRole("button", { name: "PNG" }).click();
await expect(page.getByText("Quality")).not.toBeVisible();
await expect(qualitySlider).not.toBeVisible();
});
test("GIF + AI tier warning appears and disappears correctly", async ({ loggedInPage: page }) => {