test_auto_context.py 956 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import asyncio
  2. from nicegui import ui
  3. from .user import User
  4. def test_adding_element_to_shared_index_page(user: User):
  5. ui.button('add label', on_click=lambda: ui.label('added'))
  6. user.open('/')
  7. user.click('add label')
  8. user.should_see('added')
  9. def test_adding_element_to_private_page(user: User):
  10. @ui.page('/')
  11. def page():
  12. ui.button('add label', on_click=lambda: ui.label('added'))
  13. user.open('/')
  14. user.click('add label')
  15. user.should_see('added')
  16. def test_adding_elements_with_async_await(user: User):
  17. async def add_a():
  18. await asyncio.sleep(0.1)
  19. ui.label('A')
  20. async def add_b():
  21. await asyncio.sleep(0.1)
  22. ui.label('B')
  23. with ui.card():
  24. ui.timer(1.0, add_a, once=True)
  25. with ui.card():
  26. ui.timer(1.1, add_b, once=True)
  27. user.open('/')
  28. assert '''
  29. card
  30. A
  31. card
  32. B
  33. ''' in user.page(), f'{user.page()} should show cards with "A" and "B"'