unit tests working with redis

This commit is contained in:
Masen Furer 2024-11-26 22:51:53 -08:00
parent 7624e3bb2f
commit 50d01278de
No known key found for this signature in database
GPG Key ID: B0008AD22B3B3A95
3 changed files with 12 additions and 9 deletions

View File

@ -1959,6 +1959,9 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
if var in self.base_vars or var in self._backend_vars:
self._was_touched = True
break
if var == constants.ROUTER_DATA and self.parent_state is None:
self._was_touched = True
break
def _get_was_touched(self) -> bool:
"""Check current dirty_vars and flag to determine if state instance was modified.

View File

@ -1007,9 +1007,9 @@ async def test_dynamic_route_var_route_change_completed_on_load(
substate_token = _substate_key(token, DynamicState)
sid = "mock_sid"
client_ip = "127.0.0.1"
state = await app.state_manager.get_state(substate_token)
state.router_data = {"simulate": "hydrated"}
assert state.dynamic == ""
async with app.state_manager.modify_state(substate_token) as state:
state.router_data = {"simulate": "hydrated"}
assert state.dynamic == ""
exp_vals = ["foo", "foobar", "baz"]
def _event(name, val, **kwargs):
@ -1181,8 +1181,6 @@ async def test_process_events(mocker, token: str):
"ip": "127.0.0.1",
}
app = App(state=GenState)
state = await app.state_manager.get_state(_substate_key(token, GenState))
state.router_data = {"simulate": "hydrated"}
mocker.patch.object(app, "_postprocess", AsyncMock())
event = Event(
@ -1191,6 +1189,8 @@ async def test_process_events(mocker, token: str):
payload={"c": 5},
router_data=router_data,
)
async with app.state_manager.modify_state(event.substate_token) as state:
state.router_data = {"simulate": "hydrated"}
async for _update in process(app, event, "mock_sid", {}, "127.0.0.1"):
pass

View File

@ -2815,8 +2815,8 @@ async def test_preprocess(app_module_mock, token, test_state, expected, mocker):
app = app_module_mock.app = App(
state=State, load_events={"index": [test_state.test_handler]}
)
state = await app.state_manager.get_state(_substate_key(token, State))
state.router_data = {"simulate": "hydrate"}
async with app.state_manager.modify_state(_substate_key(token, State)) as state:
state.router_data = {"simulate": "hydrate"}
updates = []
async for update in rx.app.process(
@ -2863,8 +2863,8 @@ async def test_preprocess_multiple_load_events(app_module_mock, token, mocker):
state=State,
load_events={"index": [OnLoadState.test_handler, OnLoadState.test_handler]},
)
state = await app.state_manager.get_state(_substate_key(token, State))
state.router_data = {"simulate": "hydrate"}
async with app.state_manager.modify_state(_substate_key(token, State)) as state:
state.router_data = {"simulate": "hydrate"}
updates = []
async for update in rx.app.process(