Skip to content

Commit fee4dd0

Browse files
committed
banner test
1 parent 58cf0ba commit fee4dd0

File tree

5 files changed

+65
-0
lines changed

5 files changed

+65
-0
lines changed
36.5 KB
Loading
18.3 KB
Loading
-6 Bytes
Loading
-2 Bytes
Loading
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import flet as ft
2+
import flet.testing as ftt
3+
import pytest
4+
5+
6+
@pytest.mark.asyncio(loop_scope="module")
7+
async def test_banner_presence(flet_app: ftt.FletTestApp, request):
8+
flet_app.page.theme_mode = ft.ThemeMode.LIGHT
9+
10+
action_button_style = ft.ButtonStyle(color=ft.Colors.BLUE)
11+
12+
def handle_banner_close(e: ft.Event[ft.TextButton]):
13+
flet_app.page.pop_dialog()
14+
flet_app.page.add(ft.Text(f"Action clicked: {e.control.content}"))
15+
16+
eb = ft.ElevatedButton(
17+
"Show Banner", on_click=lambda e: flet_app.page.show_dialog(banner), key="eb"
18+
)
19+
banner = ft.Banner(
20+
key="banner",
21+
bgcolor=ft.Colors.AMBER_100,
22+
leading=ft.Icon(ft.Icons.WARNING_AMBER_ROUNDED, color=ft.Colors.AMBER, size=40),
23+
content=ft.Text(
24+
value="Oops, there were some errors while trying to delete the file. What would you like to do?",
25+
color=ft.Colors.BLACK,
26+
),
27+
actions=[
28+
ft.TextButton(
29+
content="Retry",
30+
style=action_button_style,
31+
on_click=handle_banner_close,
32+
key="retry",
33+
),
34+
ft.TextButton(
35+
content="Cancel",
36+
style=action_button_style,
37+
on_click=handle_banner_close,
38+
key="cancel",
39+
),
40+
],
41+
)
42+
flet_app.page.enable_screenshots = True
43+
flet_app.page.window.width = 400
44+
flet_app.page.window.height = 600
45+
flet_app.page.controls = [eb]
46+
flet_app.page.update()
47+
await flet_app.tester.pump_and_settle()
48+
49+
await flet_app.tester.tap(await flet_app.tester.find_by_key("eb"))
50+
await flet_app.tester.pump_and_settle()
51+
flet_app.assert_screenshot(
52+
"banner_0",
53+
await flet_app.page.take_screenshot(
54+
pixel_ratio=flet_app.screenshots_pixel_ratio
55+
),
56+
)
57+
58+
await flet_app.tester.tap(await flet_app.tester.find_by_key("retry"))
59+
await flet_app.tester.pump_and_settle()
60+
flet_app.assert_screenshot(
61+
"banner_1",
62+
await flet_app.page.take_screenshot(
63+
pixel_ratio=flet_app.screenshots_pixel_ratio
64+
),
65+
)

0 commit comments

Comments
 (0)