def METHOD_NAME(self):
    ignored_properties = [
        "doc_type",
        "root_module_id",
        "name",
        "case_type",
        "unique_id",
        "session_endpoint_id",
        "case_list_session_endpoint_id",
        "custom_assertions",
    ]
    required_properties = {
        prop
        for prop in vars(ModuleBase)
        if isinstance(vars(ModuleBase)[prop], jsonobject.base_properties.JsonProperty)
        and prop not in ignored_properties
    }
    required_properties |= {
        prop
        for prop in vars(NavMenuItemMediaMixin)
        if isinstance(vars(NavMenuItemMediaMixin)[prop], jsonobject.base_properties.JsonProperty)
        and prop not in ignored_properties
    }
    copied_properties = {prop for prop, _ in MODULE_BASE_PROPERTIES_TO_COPY}
    unexpected_properties = required_properties - copied_properties
    msg = f"Unexpected properties {unexpected_properties}\n{EXPLANATION}"
    self.assertItemsEqual(unexpected_properties, [], msg)