import { test, expect } from "@gradio/tootils"; test(".success should not run if function fails", async ({ page }) => { const textbox = page.getByLabel("Result"); await expect(textbox).toHaveValue(""); await page.click("text=Trigger Failure"); expect(textbox).toHaveValue(""); }); test(".success event runs after function successfully completes", async ({ page }) => { const textbox = page.getByLabel("Result"); await page.click("text=Trigger Success"); await expect(textbox).toHaveValue("Success event triggered"); }); test("Consecutive .success event is triggered successfully", async ({ page }) => { const textbox = page.getByLabel("Consecutive Event"); const first = page.getByLabel("Result"); await page.click("text=Trigger Consecutive Success"); await expect(textbox).toHaveValue("Consecutive Event Triggered"); expect(first).toHaveValue("First Event Trigered"); }); test("gr.Error makes the toast show up", async ({ page }) => { await page.click("text=Trigger Failure"); const toast = page.getByTestId("toast-body"); expect(toast).toContainText("error"); const close = page.getByTestId("toast-close"); await close.click(); await expect(page.getByTestId("toast-body")).toHaveCount(0); }); test("ValueError makes the toast show up when show_error=True", async ({ page }) => { await page.click("text=Trigger Failure With ValueError"); const toast = page.getByTestId("toast-body"); expect(toast).toContainText("error"); const close = page.getByTestId("toast-close"); await close.click(); await expect(page.getByTestId("toast-body")).toHaveCount(0); }); test("gr.Info makes the toast show up", async ({ page }) => { await page.click("text=Trigger Info"); const toast = await page.getByTestId("toast-body"); expect(toast).toContainText("This is some info"); const close = await page.getByTestId("toast-close"); await close.click(); await expect(page.getByTestId("toast-body")).toHaveCount(0); }); test("gr.Warning makes the toast show up", async ({ page }) => { await page.click("text=Trigger Warning"); const toast = page.getByTestId("toast-body"); expect(toast).toContainText("This is a warning!"); const close = page.getByTestId("toast-close"); await close.click(); await expect(page.getByTestId("toast-body")).toHaveCount(0); });