gradio

Форк
0
/
test_chatinterface_streaming_echo.spec.ts 
67 строк · 2.1 Кб
1
import { test, expect } from "@gradio/tootils";
2

3
test("chatinterface works with streaming functions and all buttons behave as expected", async ({
4
	page
5
}) => {
6
	const submit_button = page.getByRole("button", { name: "Submit" });
7
	const retry_button = page.getByRole("button", { name: "🔄 Retry" });
8
	const undo_button = page.getByRole("button", { name: "↩️ Undo" });
9
	const clear_button = page.getByRole("button", { name: "🗑️ Clear" });
10
	const textbox = page.getByPlaceholder("Type a message...");
11

12
	await textbox.fill("hello");
13
	await submit_button.click();
14

15
	await expect(textbox).toHaveValue("");
16
	const expected_text_el_0 = page.locator(".bot  p", {
17
		hasText: "Run 1 - You typed: hello"
18
	});
19
	await expect(expected_text_el_0).toBeVisible();
20
	await expect
21
		.poll(async () => page.locator(".bot.message").count(), { timeout: 2000 })
22
		.toBe(1);
23

24
	await textbox.fill("hi");
25
	await submit_button.click();
26
	await expect(textbox).toHaveValue("");
27
	const expected_text_el_1 = page.locator(".bot p", {
28
		hasText: "Run 2 - You typed: hi"
29
	});
30
	await expect(expected_text_el_1).toBeVisible();
31
	await expect
32
		.poll(async () => page.locator(".bot.message").count(), { timeout: 2000 })
33
		.toBe(2);
34

35
	await undo_button.click();
36
	await expect
37
		.poll(async () => page.locator(".message.bot").count(), { timeout: 5000 })
38
		.toBe(1);
39
	await expect(textbox).toHaveValue("hi");
40

41
	await retry_button.click();
42
	const expected_text_el_2 = page.locator(".bot p", {
43
		hasText: "Run 3 - You typed: hello"
44
	});
45
	expect(textbox).toHaveValue("");
46
	await expect(expected_text_el_2).toBeVisible();
47

48
	await expect
49
		.poll(async () => page.locator(".message.bot").count(), { timeout: 5000 })
50
		.toBe(1);
51

52
	await textbox.fill("hi");
53
	await submit_button.click();
54
	await expect(textbox).toHaveValue("");
55
	const expected_text_el_3 = page.locator(".bot p", {
56
		hasText: "Run 4 - You typed: hi"
57
	});
58
	await expect(expected_text_el_3).toBeVisible();
59
	await expect
60
		.poll(async () => page.locator(".bot.message").count(), { timeout: 2000 })
61
		.toBe(2);
62

63
	await clear_button.click();
64
	await expect
65
		.poll(async () => page.locator(".bot.message").count(), { timeout: 5000 })
66
		.toBe(0);
67
});
68

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.