unit tests working with redis
This commit is contained in:
parent
7624e3bb2f
commit
50d01278de
@ -1959,6 +1959,9 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|||||||
if var in self.base_vars or var in self._backend_vars:
|
if var in self.base_vars or var in self._backend_vars:
|
||||||
self._was_touched = True
|
self._was_touched = True
|
||||||
break
|
break
|
||||||
|
if var == constants.ROUTER_DATA and self.parent_state is None:
|
||||||
|
self._was_touched = True
|
||||||
|
break
|
||||||
|
|
||||||
def _get_was_touched(self) -> bool:
|
def _get_was_touched(self) -> bool:
|
||||||
"""Check current dirty_vars and flag to determine if state instance was modified.
|
"""Check current dirty_vars and flag to determine if state instance was modified.
|
||||||
|
@ -1007,9 +1007,9 @@ async def test_dynamic_route_var_route_change_completed_on_load(
|
|||||||
substate_token = _substate_key(token, DynamicState)
|
substate_token = _substate_key(token, DynamicState)
|
||||||
sid = "mock_sid"
|
sid = "mock_sid"
|
||||||
client_ip = "127.0.0.1"
|
client_ip = "127.0.0.1"
|
||||||
state = await app.state_manager.get_state(substate_token)
|
async with app.state_manager.modify_state(substate_token) as state:
|
||||||
state.router_data = {"simulate": "hydrated"}
|
state.router_data = {"simulate": "hydrated"}
|
||||||
assert state.dynamic == ""
|
assert state.dynamic == ""
|
||||||
exp_vals = ["foo", "foobar", "baz"]
|
exp_vals = ["foo", "foobar", "baz"]
|
||||||
|
|
||||||
def _event(name, val, **kwargs):
|
def _event(name, val, **kwargs):
|
||||||
@ -1181,8 +1181,6 @@ async def test_process_events(mocker, token: str):
|
|||||||
"ip": "127.0.0.1",
|
"ip": "127.0.0.1",
|
||||||
}
|
}
|
||||||
app = App(state=GenState)
|
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())
|
mocker.patch.object(app, "_postprocess", AsyncMock())
|
||||||
event = Event(
|
event = Event(
|
||||||
@ -1191,6 +1189,8 @@ async def test_process_events(mocker, token: str):
|
|||||||
payload={"c": 5},
|
payload={"c": 5},
|
||||||
router_data=router_data,
|
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"):
|
async for _update in process(app, event, "mock_sid", {}, "127.0.0.1"):
|
||||||
pass
|
pass
|
||||||
|
@ -2815,8 +2815,8 @@ async def test_preprocess(app_module_mock, token, test_state, expected, mocker):
|
|||||||
app = app_module_mock.app = App(
|
app = app_module_mock.app = App(
|
||||||
state=State, load_events={"index": [test_state.test_handler]}
|
state=State, load_events={"index": [test_state.test_handler]}
|
||||||
)
|
)
|
||||||
state = await app.state_manager.get_state(_substate_key(token, State))
|
async with app.state_manager.modify_state(_substate_key(token, State)) as state:
|
||||||
state.router_data = {"simulate": "hydrate"}
|
state.router_data = {"simulate": "hydrate"}
|
||||||
|
|
||||||
updates = []
|
updates = []
|
||||||
async for update in rx.app.process(
|
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,
|
state=State,
|
||||||
load_events={"index": [OnLoadState.test_handler, OnLoadState.test_handler]},
|
load_events={"index": [OnLoadState.test_handler, OnLoadState.test_handler]},
|
||||||
)
|
)
|
||||||
state = await app.state_manager.get_state(_substate_key(token, State))
|
async with app.state_manager.modify_state(_substate_key(token, State)) as state:
|
||||||
state.router_data = {"simulate": "hydrate"}
|
state.router_data = {"simulate": "hydrate"}
|
||||||
|
|
||||||
updates = []
|
updates = []
|
||||||
async for update in rx.app.process(
|
async for update in rx.app.process(
|
||||||
|
Loading…
Reference in New Issue
Block a user