@@ -43,6 +43,8 @@ async def lifespan_task(inc: int = 1):
43
43
lifespan_task_global = 0
44
44
45
45
class LifespanState (rx .State ):
46
+ interval : int = 100
47
+
46
48
@rx .var
47
49
def task_global (self ) -> int :
48
50
return lifespan_task_global
@@ -59,7 +61,15 @@ def index():
59
61
return rx .vstack (
60
62
rx .text (LifespanState .task_global , id = "task_global" ),
61
63
rx .text (LifespanState .context_global , id = "context_global" ),
62
- rx .moment (interval = 100 , on_change = LifespanState .tick ),
64
+ rx .button (
65
+ rx .moment (
66
+ interval = LifespanState .interval , on_change = LifespanState .tick
67
+ ),
68
+ on_click = LifespanState .set_interval ( # type: ignore
69
+ rx .cond (LifespanState .interval , 0 , 100 )
70
+ ),
71
+ id = "toggle-tick" ,
72
+ ),
63
73
)
64
74
65
75
app = rx .App ()
@@ -108,6 +118,7 @@ async def test_lifespan(lifespan_app: AppHarness):
108
118
original_task_global_text = task_global .text
109
119
original_task_global_value = int (original_task_global_text )
110
120
lifespan_app .poll_for_content (task_global , exp_not_equal = original_task_global_text )
121
+ driver .find_element (By .ID , "toggle-tick" ).click () # avoid teardown errors
111
122
assert lifespan_app .app_module .lifespan_task_global > original_task_global_value # type: ignore
112
123
assert int (task_global .text ) > original_task_global_value
113
124
0 commit comments