test_button_dropdown.py 940 B

123456789101112131415161718192021222324252627282930313233
  1. from nicegui import ui
  2. from nicegui.testing import Screen
  3. def test_dropdown_button(screen: Screen):
  4. with ui.dropdown_button('Button', on_click=lambda: ui.label('Button clicked')):
  5. with ui.list():
  6. with ui.item(on_click=lambda: ui.label('Item clicked')):
  7. ui.item_label('Item')
  8. screen.open('/')
  9. screen.click('Button')
  10. screen.should_contain('Button clicked')
  11. screen.click('Item')
  12. screen.should_contain('Item clicked')
  13. def test_auto_close(screen: Screen):
  14. with ui.dropdown_button('Button 1', auto_close=False):
  15. ui.label('Item 1')
  16. with ui.dropdown_button('Button 2', auto_close=True):
  17. ui.label('Item 2')
  18. screen.open('/')
  19. screen.click('Button 1')
  20. screen.click('Item 1')
  21. screen.wait(0.5)
  22. screen.should_contain('Item 1')
  23. screen.click('Button 2')
  24. screen.click('Item 2')
  25. screen.wait(0.5)
  26. screen.should_not_contain('Item 2')