-
-
Notifications
You must be signed in to change notification settings - Fork 485
/
test_pages.py
102 lines (70 loc) · 2.44 KB
/
test_pages.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
from uuid import uuid4
from nicegui import ui
from .user import User
def test_title(user: User):
@ui.page('/', title='My Custom Title')
def page():
ui.label('some content')
user.open('/')
user.should_see('My Custom Title')
def test_route_with_custom_path(user: User):
@ui.page('/test_route')
def page():
ui.label('page with custom path')
user.open('/test_route')
user.should_see('page with custom path')
def test_auto_index_page_with_link_to_subpage(user: User):
ui.link('link to subpage', '/subpage')
@ui.page('/subpage')
def page():
ui.label('the subpage')
user.open('/')
user.click('link to subpage')
user.should_see('the subpage')
def test_link_to_page_by_passing_function(user: User):
@ui.page('/subpage')
def page():
ui.label('the subpage')
ui.link('link to subpage', page)
user.open('/')
user.click('link to subpage')
user.should_see('the subpage')
def test_creating_new_page_after_startup(user: User):
user.start_server()
@ui.page('/late_page')
def page():
ui.label('page created after startup')
user.open('/late_page')
user.should_see('page created after startup')
def test_automatic_loading_of_joystick_dependency(user: User):
@ui.page('/')
def page():
ui.joystick()
user.open('/')
srcs = user.get_attributes('script', 'src')
assert any(('joystick.js' in s) for s in srcs)
assert any(('nipplejs.min.js' in s) for s in srcs)
def test_automatic_loading_of_keyboard_dependency(user: User):
@ui.page('/')
def page():
ui.keyboard()
user.open('/')
assert any(('keyboard.js' in s) for s in user.get_attributes('script', 'src'))
user.sleep(2)
def test_shared_and_individual_pages(user: User):
@ ui.page('/individual_page')
def individual_page():
ui.label(f'your individual page with uuid {uuid4()}')
@ ui.page('/shared_page', shared=True)
def shared_page():
ui.label(f'a shared page with uuid {uuid4()}')
user.open('/shared_page')
uuid1 = user.find('a shared page').text.split(' ')[-1]
user.open('/shared_page')
uuid2 = user.find('a shared page').text.split(' ')[-1]
assert uuid1 == uuid2
user.open('/individual_page')
uuid1 = user.find('your individual page').text.split(' ')[-1]
user.open('/individual_page')
uuid2 = user.find('your individual page').text.split(' ')[-1]
assert uuid1 != uuid2