test_list.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from nicegui import ui
  2. from nicegui.testing import Screen
  3. def test_list(screen: Screen):
  4. with ui.button('List'):
  5. with ui.list():
  6. with ui.item():
  7. ui.item_label('Test')
  8. screen.open('/')
  9. screen.click('List')
  10. screen.should_contain('Test')
  11. def test_clicking_items(screen: Screen):
  12. label = ui.label()
  13. with ui.list():
  14. with ui.item(on_click=lambda: label.set_text('Clicked item 1')):
  15. ui.item_label('Item 1')
  16. with ui.item(on_click=lambda: label.set_text('Clicked item 2')):
  17. ui.item_label('Item 2')
  18. screen.open('/')
  19. screen.should_contain('Item 1')
  20. screen.should_contain('Item 2')
  21. screen.click('Item 1')
  22. screen.should_contain('Clicked item 1')
  23. def test_clicking_nested_sections(screen: Screen):
  24. label = ui.label()
  25. with ui.list():
  26. with ui.item(on_click=lambda: label.set_text('Clicked!')):
  27. with ui.item_section().props('avatar'):
  28. ui.button('Button').on('click.stop', lambda: label.set_text('Clicked button!'))
  29. with ui.item_section():
  30. ui.item_label('Item')
  31. screen.open('/')
  32. screen.should_contain('Button')
  33. screen.should_contain('Item')
  34. screen.click('Button')
  35. screen.should_contain('Clicked button!')
  36. screen.click('Item')
  37. screen.should_contain('Clicked!')