code: def test_update_featureidkey_options():
      with app.test_client() as c:
          with ExitStack() as stack:
              custom_geojson_data = [
                  dict(
                      key="test",
                      type="FeatureCollection",
                      properties=["foo", "bar", "baz"],
                  ),
                  dict(key="test2", type="Topology"),
              ]
              stack.enter_context(
                  mock.patch(
                      "dtale.dash_application.custom_geojson.CUSTOM_GEOJSON",
                      custom_geojson_data,
                  )
              )
              params = {
                  "output": (
                      "..featureidkey-dropdown.options...featureidkey-dropdown.disabled..."
                      "featureidkey-dropdown.placeholder.."
                  ),
                  "changedPropIds": ["geojson-dropdown.value"],
                  "inputs": [
                      {
                          "id": "geojson-dropdown",
                          "property": "content",
                          "value": "test",
                      }
                  ],
              }
              response = c.post(
                  "/dtale/charts/_dash-update-component", json=params
              )
              resp_data = response.get_json()["response"]
              assert resp_data["featureidkey-dropdown"]["options"] == [
                  {"label": "foo", "value": "foo"},
                  {"label": "bar", "value": "bar"},
                  {"label": "baz", "value": "baz"},
              ]
  
              params["inputs"][0]["value"] = "test2"
              response = c.post(
                  "/dtale/charts/_dash-update-component", json=params
              )
              resp_data = response.get_json()["response"]
              assert resp_data["featureidkey-dropdown"]["options"] == []
              assert resp_data["featureidkey-dropdown"]["disabled"]
              assert (
                  resp_data["featureidkey-dropdown"]["placeholder"]
                  == "id"
              )
  
              params["inputs"][0]["value"] = "missing"
              response = c.post(
                  "/dtale/charts/_dash-update-component", json=params
              )
              resp_data = response.get_json()["response"]
              assert resp_data["featureidkey-dropdown"]["options"] == []
  
file_path: dtale/tests/dtale/dash/test_custom_geojson.py
imports: import base64
  import json
  import mock
  import os
  import pandas
  import pytest
  from tests import ExitStack
  from tests.dtale import build_data_inst
  from tests.dtale.dash.test_dash import build_chart_params
  from tests.dtale.test_views import app
label_desc: Use image node_id 3 for calling a global function with example usage: test_update_featureidkey_options() without return types