|
import { test, expect, drag_and_drop_file } from "@gradio/tootils"; |
|
|
|
test("Model3D click-to-upload uploads file successfuly. Upload and clear events work correctly. Downloading works.", async ({ |
|
page |
|
}) => { |
|
await page |
|
.getByRole("button", { name: "Drop File Here - or - Click to Upload" }) |
|
.click(); |
|
const uploader = await page.locator("input[type=file]"); |
|
const change_counter = await page.getByLabel("# Change Events"); |
|
const upload_counter = await page.getByLabel("# Upload Events"); |
|
const clear_counter = await page.getByLabel("# Clear Events"); |
|
|
|
await uploader.setInputFiles("./test/files/face.obj"); |
|
|
|
await expect(change_counter).toHaveValue("1"); |
|
await expect(upload_counter).toHaveValue("1"); |
|
|
|
await page.getByLabel("Clear").nth(0).click(); |
|
await expect(change_counter).toHaveValue("2"); |
|
await expect(clear_counter).toHaveValue("1"); |
|
await expect(await page.getByLabel("Clear Value")).toHaveValue(""); |
|
|
|
const downloadPromise = page.waitForEvent("download"); |
|
await page.getByLabel("Download").click(); |
|
const download = await downloadPromise; |
|
await expect(download.suggestedFilename()).toBe("face.obj"); |
|
}); |
|
|
|
test("Model3D drag-and-drop uploads a file to the server correctly.", async ({ |
|
page |
|
}) => { |
|
await drag_and_drop_file( |
|
page, |
|
"input[type=file]", |
|
"./test/files/face.obj", |
|
"face.obj" |
|
); |
|
await expect(await page.getByLabel("# Change Events")).toHaveValue("1"); |
|
await expect(await page.getByLabel("# Upload Events")).toHaveValue("1"); |
|
}); |
|
|