test_banner.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. from reflex.components.core.banner import (
  2. ConnectionBanner,
  3. ConnectionModal,
  4. ConnectionPulser,
  5. WebsocketTargetURL,
  6. )
  7. from reflex.components.radix.themes.base import RadixThemesComponent
  8. from reflex.components.radix.themes.typography.text import Text
  9. def test_websocket_target_url():
  10. url = WebsocketTargetURL.create()
  11. var_data = url._get_all_var_data()
  12. assert var_data is not None
  13. assert sorted(key for key, _ in var_data.imports) == sorted(
  14. ("$/utils/state", "$/env.json")
  15. )
  16. def test_connection_banner():
  17. banner = ConnectionBanner.create()
  18. _imports = banner._get_all_imports(collapse=True)
  19. assert sorted(_imports) == sorted(
  20. (
  21. "react",
  22. "$/utils/context",
  23. "$/utils/state",
  24. "@emotion/react",
  25. RadixThemesComponent().library or "",
  26. "$/env.json",
  27. )
  28. )
  29. msg = "Connection error"
  30. custom_banner = ConnectionBanner.create(Text.create(msg))
  31. assert msg in str(custom_banner.render())
  32. def test_connection_modal():
  33. modal = ConnectionModal.create()
  34. _imports = modal._get_all_imports(collapse=True)
  35. assert sorted(_imports) == sorted(
  36. (
  37. "react",
  38. "$/utils/context",
  39. "$/utils/state",
  40. "@emotion/react",
  41. RadixThemesComponent().library or "",
  42. "$/env.json",
  43. )
  44. )
  45. msg = "Connection error"
  46. custom_modal = ConnectionModal.create(Text.create(msg))
  47. assert msg in str(custom_modal.render())
  48. def test_connection_pulser():
  49. pulser = ConnectionPulser.create()
  50. _custom_code = pulser._get_all_custom_code()
  51. _imports = pulser._get_all_imports(collapse=True)