1
0

test_navigate.py 789 B

123456789101112131415161718192021222324252627
  1. import pytest
  2. from nicegui import ui
  3. from nicegui.testing import Screen
  4. @pytest.mark.parametrize('new_tab', [False, True])
  5. def test_navigate_to(screen: Screen, new_tab: bool):
  6. @ui.page('/test_page')
  7. def page():
  8. ui.label('Test page')
  9. ui.button('Back', on_click=ui.navigate.back)
  10. ui.button('Open test page', on_click=lambda: ui.navigate.to('/test_page', new_tab=new_tab))
  11. ui.button('Forward', on_click=ui.navigate.forward)
  12. screen.open('/')
  13. screen.click('Open test page')
  14. screen.wait(0.5)
  15. screen.switch_to(1 if new_tab else 0)
  16. screen.should_contain('Test page')
  17. if not new_tab:
  18. screen.click('Back')
  19. screen.should_contain('Open test page')
  20. screen.click('Forward')
  21. screen.should_contain('Test page')