|
import { test, expect } from "@gradio/tootils"; |
|
|
|
test("updates frontend correctly", async ({ page }) => { |
|
const short_btn = await page.getByLabel("short"); |
|
const long_btn = await page.getByLabel("long"); |
|
const hidden_btn = await page.getByLabel("none"); |
|
const textbox = await page.locator("textarea").first(); |
|
|
|
textbox.fill("hello world"); |
|
await long_btn.check(); |
|
await expect(textbox).toHaveValue("Lorem ipsum dolor sit amet"); |
|
await expect(textbox).toHaveAttribute("rows", "8"); |
|
|
|
textbox.fill("hello world"); |
|
await short_btn.check(); |
|
await expect(textbox).toHaveValue("hello world"); |
|
await expect(textbox).toHaveAttribute("rows", "2"); |
|
|
|
await hidden_btn.check(); |
|
await expect(textbox).toBeHidden(); |
|
}); |
|
|
|
test("updates interactivity correctly", async ({ page }) => { |
|
const short_btn = await page.getByLabel("short"); |
|
const hidden_btn = await page.getByLabel("none"); |
|
const submit_tn = await page.locator("button.primary").first(); |
|
|
|
await hidden_btn.check(); |
|
await expect(submit_tn).toHaveAttribute("disabled"); |
|
|
|
await short_btn.check(); |
|
await expect(submit_tn).not.toHaveAttribute("disabled"); |
|
}); |
|
|
|
test("updates backend correctly", async ({ page }) => { |
|
const min_slider = await page.getByLabel("number input for min"); |
|
const num = await page.getByLabel("input").first(); |
|
const output = await page.getByLabel("output"); |
|
|
|
await min_slider.fill("10"); |
|
await num.fill("15"); |
|
await num.press("Enter"); |
|
await expect(output).toHaveValue("15"); |
|
|
|
await num.fill("25"); |
|
await num.press("Enter"); |
|
await expect(output).toHaveValue("25"); |
|
|
|
await num.fill("5"); |
|
await num.press("Enter"); |
|
await expect(output).toHaveValue("25"); |
|
}); |
|
|
|
test("updates dropdown choices correctly", async ({ page }) => { |
|
const country = await page.getByLabel("Country").first(); |
|
const city = await page.getByLabel("Cities").first(); |
|
|
|
await country.fill("Canada"); |
|
await country.press("Enter"); |
|
await expect(city).toHaveValue("Toronto"); |
|
|
|
await country.fill("Pakistan"); |
|
await country.press("Enter"); |
|
await expect(city).toHaveValue("Karachi"); |
|
}); |
|
|