code: def test_cbsc010_event_properties(dash_duo):
      app = Dash(__name__)
      app.layout = html.Div(
          [html.Button("Click Me", id="button"), html.Div(id="output")]
      )
  
      call_count = Value("i", 0)
  
      @app.callback(
          Output("output", "children"), [Input("button", "n_clicks")]
      )
      def update_output(n_clicks):
          if not n_clicks:
              raise PreventUpdate
          call_count.value += 1
          return "Click"
  
      dash_duo.start_server(app)
      dash_duo.wait_for_text_to_equal("#output", "")
      assert call_count.value == 0
  
      dash_duo.find_element("#button").click()
      dash_duo.wait_for_text_to_equal("#output", "Click")
      assert call_count.value == 1
  
imports: import json
  import os
  from multiprocessing import Lock, Value
  import pytest
  import time
  import numpy
  import werkzeug
  from dash_test_components import AsyncComponent, CollapseComponent, DelayedEventComponent, FragmentComponent
  from dash import Dash, Input, Output, State, html, dcc, dash_table, no_update, callback_context
  from dash.exceptions import PreventUpdate
  from tests.integration.utils import json_engine
label_desc: Use image node_id 10 for calling a global function with example usage: test_cbsc010_event_properties(dash_duo) and returns: str