1
1
import json
2
+ import os
2
3
from multiprocessing import Lock , Value
3
4
import pytest
4
5
import time
@@ -37,17 +38,24 @@ def test_cbsc001_simple_callback(dash_duo):
37
38
]
38
39
)
39
40
call_count = Value ("i" , 0 )
41
+ percy_ss = Value ("b" , False )
40
42
41
43
@app .callback (Output ("output-1" , "children" ), [Input ("input" , "value" )])
42
44
def update_output (value ):
43
45
with lock :
44
- call_count .value = call_count .value + 1
46
+ if not percy_ss .value :
47
+ call_count .value = call_count .value + 1
45
48
return value
46
49
50
+ def snapshot (name ):
51
+ percy_ss .value = os .getenv ("PERCY_ENABLE" , "" ) != ""
52
+ dash_duo .percy_snapshot (name = name )
53
+ percy_ss .value = False
54
+
47
55
dash_duo .start_server (app )
48
56
49
57
dash_duo .wait_for_text_to_equal ("#output-1" , "initial value" )
50
- dash_duo . percy_snapshot ( name = "simple-callback-initial" )
58
+ snapshot ( "simple-callback-initial" )
51
59
52
60
input_ = dash_duo .find_element ("#input" )
53
61
dash_duo .clear_input (input_ )
@@ -57,7 +65,7 @@ def update_output(value):
57
65
input_ .send_keys (key )
58
66
59
67
dash_duo .wait_for_text_to_equal ("#output-1" , "hello world" )
60
- dash_duo . percy_snapshot ( name = "simple-callback-hello-world" )
68
+ snapshot ( "simple-callback-hello-world" )
61
69
62
70
assert call_count .value == 2 + len ("hello world" ), "initial count + each key stroke"
63
71
0 commit comments