| import { test, expect } from "@gradio/tootils"; | |
| test("When the queue is full the queue full message gets shown. Also when there is an exception in a user function the queue does not get blocked", async ({ | |
| page | |
| }) => { | |
| await page.pause(); | |
| await page.getByRole("button", { name: "First Call" }).click(); | |
| await page.getByRole("button", { name: "Second Call" }).click(); | |
| await page.getByRole("button", { name: "Third Call" }).click(); | |
| await page.getByRole("button", { name: "Fourth Call" }).click(); | |
| await expect(page.getByTestId("toast-body")).toHaveCount(2, { | |
| timeout: 10000 | |
| }); | |
| const all_toast = (await page.getByTestId("toast-body").all()).map( | |
| async (t) => await t.innerText() | |
| ); | |
| const all_text = await Promise.all(all_toast); | |
| expect(all_text.join("\n")).toContain("This is a gradio error"); | |
| expect(all_text.join("\n")).toContain("application is too busy"); | |
| await expect | |
| .poll(async () => page.getByLabel("First Result").inputValue()) | |
| .toBeTruthy(); | |
| await expect | |
| .poll(async () => page.getByLabel("First Result").inputValue()) | |
| .toBeTruthy(); | |
| }); | |