code: def test_load_app_settings_w_missing_props():
      settings = {
          "theme": "light",
          "github_fork": False,
          "hide_shutdown": True,
          "pin_menu": True,
          "language": "cn",
          "max_column_width": None,
          "query_engine": "python",
          "hide_header_editor": True,
          "lock_header_menu": True,
          "hide_header_menu": True,
          "hide_main_menu": True,
          "hide_column_menus": True,
          "enable_custom_filters": True,
          "enable_web_uploads": True,
      }
      with ExitStack() as stack:
          stack.enter_context(
              mock.patch("dtale.global_state.APP_SETTINGS", settings)
          )
  
          load_app_settings(None)
          assert settings["hide_shutdown"]
          assert settings["pin_menu"]
          assert settings["language"] == "cn"
          assert settings["max_column_width"] is None
          assert settings["hide_header_editor"]
          assert settings["lock_header_menu"]
          assert settings["hide_header_menu"]
          assert settings["hide_main_menu"]
          assert settings["hide_column_menus"]
          assert settings["enable_custom_filters"]
          assert settings["enable_web_uploads"]
  
          load_app_settings(
              load_config_state(
                  os.path.join(
                      os.path.dirname(__file__),
                      "dtale_missing_props.ini",
                  )
              )
          )
          assert not settings["hide_shutdown"]
          assert settings["pin_menu"]
          assert settings["language"] == "cn"
          assert settings["max_column_width"] is None
          assert not settings["hide_header_editor"]
          assert not settings["lock_header_menu"]
          assert not settings["hide_header_menu"]
          assert not settings["hide_main_menu"]
          assert not settings["hide_column_menus"]
          assert not settings["enable_custom_filters"]
          assert not settings["enable_web_uploads"]
  
file_path: dtale/tests/dtale/config/test_config.py
imports: import mock
  import os
  import pytest
  from dtale.config import load_app_settings, load_auth_settings, load_config_state, build_show_options, set_config
  from tests import ExitStack
label_desc: Use image node_id 2 for calling a global function with example usage: test_load_app_settings_w_missing_props() without return types