1
0

test_date.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from nicegui import ui
  2. from nicegui.testing import Screen
  3. def test_date(screen: Screen):
  4. ui.date(value='2023-01-01')
  5. screen.open('/')
  6. screen.should_contain('Sun, Jan 1')
  7. screen.click('31')
  8. screen.should_contain('Tue, Jan 31')
  9. def test_date_with_range(screen: Screen):
  10. ui.date().props('range default-year-month=2023/01')
  11. screen.open('/')
  12. screen.click('16')
  13. screen.click('19')
  14. screen.should_contain('4 days')
  15. screen.click('25')
  16. screen.click('28')
  17. screen.should_contain('4 days')
  18. def test_date_with_multi_selection(screen: Screen):
  19. ui.date().props('multiple default-year-month=2023/01')
  20. screen.open('/')
  21. screen.click('16')
  22. screen.click('19')
  23. screen.should_contain('2 days')
  24. screen.click('25')
  25. screen.click('28')
  26. screen.should_contain('4 days')
  27. def test_date_with_range_and_multi_selection(screen: Screen):
  28. ui.date().props('range multiple default-year-month=2023/01')
  29. screen.open('/')
  30. screen.click('16')
  31. screen.click('19')
  32. screen.should_contain('4 days')
  33. screen.click('25')
  34. screen.click('28')
  35. screen.should_contain('8 days')
  36. def test_date_with_filter(screen: Screen):
  37. d = ui.date().props('''default-year-month=2023/01 :options="date => date <= '2023/01/15'"''')
  38. ui.label().bind_text_from(d, 'value')
  39. screen.open('/')
  40. screen.click('14')
  41. screen.should_contain('2023-01-14')
  42. screen.click('15')
  43. screen.should_contain('2023-01-15')
  44. screen.click('16')
  45. screen.wait(0.5)
  46. screen.should_not_contain('2023-01-16')