gradio/ui/packages/app/test/blocks_inputs.spec.ts
pngwn 669ee42c8f
fix space embeds using src attribute (#3065)
* change ports in dev mode

* changelog

* correctly detect space embeds

* changelog

* formatting
2023-01-27 14:39:36 +00:00

47 lines
1.1 KiB
TypeScript

import { test, expect, Page } from "@playwright/test";
function mock_demo(page: Page, demo: string) {
return page.route("**/config", (route) => {
return route.fulfill({
headers: {
"Access-Control-Allow-Origin": "*"
},
path: `../../../demo/${demo}/config.json`
});
});
}
function mock_api(page: Page, body: Array<unknown>) {
return page.route("**/run/predict/", (route) => {
const id = JSON.parse(route.request().postData()!).fn_index;
return route.fulfill({
headers: {
"Access-Control-Allow-Origin": "*"
},
body: JSON.stringify({
data: body[id]
})
});
});
}
test("renders the correct elements", async ({ page }) => {
await mock_demo(page, "blocks_inputs");
await mock_api(page, [["hi dawood"]]);
await page.goto("http://localhost:9876");
const textboxes = await page.getByLabel("Input");
const textboxOne = await textboxes.first();
const textboxTwo = await textboxes.last();
await textboxOne.fill("hi");
await textboxTwo.fill("dawood");
await Promise.all([
page.click('text="Submit"'),
page.waitForResponse("**/run/predict/")
]);
await expect(await page.getByLabel("Output")).toHaveValue("hi dawood");
});