reflex/tests/units/components/core/test_banner.py
Thomas Brandého 3f538865b5
reorganize all tests in a single top folder (#3981)
* lift node version restraint to allow more recent version if already installed

* add node test for latest version

* change python version

* use purple for debug logs

* update workflow

* add playwright dev dependency

* update workflow

* change test

* oops

* improve test

* update test

* fix tests

* mv units tests to a subfolder

* reorganize tests

* fix install

* update test_state

* revert node changes and only keep new tests organization

* move integration tests in tests/integration

* fix integration workflow

* fix dockerfile workflow

* fix dockerfile workflow 2

* fix shared_state
2024-09-26 01:22:52 +02:00

59 lines
1.5 KiB
Python

from reflex.components.core.banner import (
ConnectionBanner,
ConnectionModal,
ConnectionPulser,
WebsocketTargetURL,
)
from reflex.components.radix.themes.typography.text import Text
def test_websocket_target_url():
url = WebsocketTargetURL.create()
var_data = url._get_all_var_data()
assert var_data is not None
assert sorted(tuple((key for key, _ in var_data.imports))) == sorted(
("/utils/state", "/env.json")
)
def test_connection_banner():
banner = ConnectionBanner.create()
_imports = banner._get_all_imports(collapse=True)
assert sorted(tuple(_imports)) == sorted(
(
"react",
"/utils/context",
"/utils/state",
"@radix-ui/themes@^3.0.0",
"/env.json",
)
)
msg = "Connection error"
custom_banner = ConnectionBanner.create(Text.create(msg))
assert msg in str(custom_banner.render())
def test_connection_modal():
modal = ConnectionModal.create()
_imports = modal._get_all_imports(collapse=True)
assert sorted(tuple(_imports)) == sorted(
(
"react",
"/utils/context",
"/utils/state",
"@radix-ui/themes@^3.0.0",
"/env.json",
)
)
msg = "Connection error"
custom_modal = ConnectionModal.create(Text.create(msg))
assert msg in str(custom_modal.render())
def test_connection_pulser():
pulser = ConnectionPulser.create()
_custom_code = pulser._get_all_custom_code()
_imports = pulser._get_all_imports(collapse=True)