123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- 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) # NOTE we need to sleep to wait for the js error to be printed (start pytest with -s to see it)
- 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
|