116 lines
16 KiB
Plaintext
116 lines
16 KiB
Plaintext
test_counts_are_disjoint_and_count_conversations_not_messages (test_review_badges.AttentionBadgeTests.test_counts_are_disjoint_and_count_conversations_not_messages) ... ok
|
|
test_hidden_queue_refreshes_counts_without_rebuilding_widgets (test_review_badges.AttentionBadgeTests.test_hidden_queue_refreshes_counts_without_rebuilding_widgets) ... ok
|
|
test_native_badge_scales_and_preserves_exact_accessible_count (test_review_badges.AttentionBadgeTests.test_native_badge_scales_and_preserves_exact_accessible_count) ... ok
|
|
test_queue_refresh_updates_both_native_entrances_under_unrelated_filter (test_review_badges.AttentionBadgeTests.test_queue_refresh_updates_both_native_entrances_under_unrelated_filter) ... ok
|
|
test_web_badges_update_while_editing_and_hide_when_resolved (test_review_badges.AttentionBadgeTests.test_web_badges_update_while_editing_and_hide_when_resolved) ... ok
|
|
test_async_protocol_check_retains_explicit_approval_request (test_desktop_review_visibility.DesktopReviewTest.test_async_protocol_check_retains_explicit_approval_request) ... ok
|
|
test_explicit_approval_reaches_thread_with_exact_key_and_refreshes (test_desktop_review_visibility.DesktopReviewTest.test_explicit_approval_reaches_thread_with_exact_key_and_refreshes) ... ok
|
|
test_human_filter_includes_unknown_receipt_and_no_empty_send (test_desktop_review_visibility.DesktopReviewTest.test_human_filter_includes_unknown_receipt_and_no_empty_send) ... ok
|
|
test_legacy_receipt_states_are_visible_but_not_sendable (test_desktop_review_visibility.DesktopReviewTest.test_legacy_receipt_states_are_visible_but_not_sendable) ... ok
|
|
test_real_queue_snapshot_renders_review_and_handoff_in_embedded_browser (test_desktop_review_visibility.DesktopReviewTest.test_real_queue_snapshot_renders_review_and_handoff_in_embedded_browser) ... ok
|
|
test_review_counts_remain_visible_under_an_unrelated_filter (test_desktop_review_visibility.DesktopReviewTest.test_review_counts_remain_visible_under_an_unrelated_filter) ... ok
|
|
test_review_filter_surfaces_protocol_draft_and_reason (test_desktop_review_visibility.DesktopReviewTest.test_review_filter_surfaces_protocol_draft_and_reason) ... ok
|
|
test_stale_snapshot_requires_explicit_confirmation_before_backend_handoff (test_desktop_review_visibility.DesktopReviewTest.test_stale_snapshot_requires_explicit_confirmation_before_backend_handoff) ... ok
|
|
test_stopped_handoff_uses_offline_resolution_and_preserves_seen (test_desktop_review_visibility.DesktopReviewTest.test_stopped_handoff_uses_offline_resolution_and_preserves_seen) ... ok
|
|
test_unknown_receipt_handoff_requires_confirmation_and_never_calls_approve (test_desktop_review_visibility.DesktopReviewTest.test_unknown_receipt_handoff_requires_confirmation_and_never_calls_approve) ... ok
|
|
test_generation_failure_is_retryable_but_not_sendable (test_desktop_review_visibility.ReviewStateTest.test_generation_failure_is_retryable_but_not_sendable) ... ok
|
|
test_media_without_draft_cannot_be_approved (test_desktop_review_visibility.ReviewStateTest.test_media_without_draft_cannot_be_approved) ... ok
|
|
test_protocol_and_visual_reviews_have_the_same_action_contract (test_desktop_review_visibility.ReviewStateTest.test_protocol_and_visual_reviews_have_the_same_action_contract) ... ok
|
|
test_uncertain_delivery_cannot_be_approved_or_retried_even_with_stale_review_flag (test_desktop_review_visibility.ReviewStateTest.test_uncertain_delivery_cannot_be_approved_or_retried_even_with_stale_review_flag) ... ok
|
|
test_a_blank_name_leaves_the_current_one_alone (test_qt_console_bridge.ConsoleBridgeTest.test_a_blank_name_leaves_the_current_one_alone)
|
|
空名字是"没填",不是"改成空"——改成空会让提示词里出现一个没有名字的客服。 ... ok
|
|
test_a_failed_connection_says_why_in_the_log (test_qt_console_bridge.ConsoleBridgeTest.test_a_failed_connection_says_why_in_the_log)
|
|
失败必须留下原因。只说"连接失败"的话,人不知道是地址错了还是后台没起。 ... ok
|
|
test_an_over_long_agent_name_is_truncated (test_qt_console_bridge.ConsoleBridgeTest.test_an_over_long_agent_name_is_truncated)
|
|
昵称会拼进系统提示词,不能让它无限长。 ... ok
|
|
test_approve_task_reaches_the_host_with_the_exact_key (test_qt_console_bridge.ConsoleBridgeTest.test_approve_task_reaches_the_host_with_the_exact_key)
|
|
「通过并发送」必须真的连到后端。 ... ok
|
|
test_approving_a_task_that_left_the_queue_sends_nothing (test_qt_console_bridge.ConsoleBridgeTest.test_approving_a_task_that_left_the_queue_sends_nothing)
|
|
任务已经不在队列里就别再放行——否则可能把草稿发到别的会话去。 ... ok
|
|
test_archive_date_button_uses_real_business_filter (test_qt_console_bridge.ConsoleBridgeTest.test_archive_date_button_uses_real_business_filter) ... ok
|
|
test_archive_selection_only_commits_an_existing_visible_key (test_qt_console_bridge.ConsoleBridgeTest.test_archive_selection_only_commits_an_existing_visible_key) ... ok
|
|
test_auto_send_header_selects_auto_mode_before_starting (test_qt_console_bridge.ConsoleBridgeTest.test_auto_send_header_selects_auto_mode_before_starting) ... ok
|
|
test_canvas_uses_available_logical_space_without_design_minimum (test_qt_console_bridge.ConsoleBridgeTest.test_canvas_uses_available_logical_space_without_design_minimum) ... ok
|
|
test_connect_backend_forwards_the_url_to_the_host (test_qt_console_bridge.ConsoleBridgeTest.test_connect_backend_forwards_the_url_to_the_host)
|
|
控制台上填的后台地址要真的到得了后端。 ... ok
|
|
test_console_html_and_javascript_assets_are_packaged_together (test_qt_console_bridge.ConsoleBridgeTest.test_console_html_and_javascript_assets_are_packaged_together) ... ok
|
|
test_console_push_timer_coalesces_against_earliest_deadline (test_qt_console_bridge.ConsoleBridgeTest.test_console_push_timer_coalesces_against_earliest_deadline) ... ok
|
|
test_editable_fields_look_editable (test_qt_console_bridge.ConsoleBridgeTest.test_editable_fields_look_editable)
|
|
能改的地方要看得出来能改。 ... ok
|
|
test_every_html_navigation_schedules_authoritative_state (test_qt_console_bridge.ConsoleBridgeTest.test_every_html_navigation_schedules_authoritative_state) ... ok
|
|
test_every_save_button_gives_the_user_feedback (test_qt_console_bridge.ConsoleBridgeTest.test_every_save_button_gives_the_user_feedback)
|
|
点了保存必须看得见反馈。 ... ok
|
|
test_handoff_only_reports_tasks_the_backend_accepted (test_qt_console_bridge.ConsoleBridgeTest.test_handoff_only_reports_tasks_the_backend_accepted) ... ok
|
|
test_long_pages_scroll_without_shrinking_text (test_qt_console_bridge.ConsoleBridgeTest.test_long_pages_scroll_without_shrinking_text) ... ok
|
|
test_no_layout_container_keeps_a_hard_coded_height (test_qt_console_bridge.ConsoleBridgeTest.test_no_layout_container_keeps_a_hard_coded_height)
|
|
去掉滚动条之后,"装不下"不再表现为滚动条,而是内容画到别的面板身上。 ... ok
|
|
test_number_fields_tell_you_the_allowed_range (test_qt_console_bridge.ConsoleBridgeTest.test_number_fields_tell_you_the_allowed_range) ... ok
|
|
test_page_grids_use_proportional_columns (test_qt_console_bridge.ConsoleBridgeTest.test_page_grids_use_proportional_columns)
|
|
各栏必须按比例分配宽度。写死像素的话,舞台变宽它们也不会跟着变宽, ... ok
|
|
test_queue_actions_select_exact_key_before_forwarding (test_qt_console_bridge.ConsoleBridgeTest.test_queue_actions_select_exact_key_before_forwarding) ... ok
|
|
test_ready_state_delivery_updates_cache_only_after_emit (test_qt_console_bridge.ConsoleBridgeTest.test_ready_state_delivery_updates_cache_only_after_emit) ... ok
|
|
test_request_state_forces_webchannel_handshake_payload (test_qt_console_bridge.ConsoleBridgeTest.test_request_state_forces_webchannel_handshake_payload) ... ok
|
|
test_responsive_styles_are_bundled_after_reference_styles (test_qt_console_bridge.ConsoleBridgeTest.test_responsive_styles_are_bundled_after_reference_styles) ... ok
|
|
test_same_view_state_push_preserves_sidebar_and_main_dom_identity (test_qt_console_bridge.ConsoleBridgeTest.test_same_view_state_push_preserves_sidebar_and_main_dom_identity) ... ok
|
|
test_save_ai_only_applies_the_agent_name (test_qt_console_bridge.ConsoleBridgeTest.test_save_ai_only_applies_the_agent_name)
|
|
AI 设置页现在只有客服昵称是真正的本机设置。 ... ok
|
|
test_set_view_waits_for_loaded_document_and_replays_once (test_qt_console_bridge.ConsoleBridgeTest.test_set_view_waits_for_loaded_document_and_replays_once) ... ok
|
|
test_sidebar_orb_is_wired_to_the_listen_toggle (test_qt_console_bridge.ConsoleBridgeTest.test_sidebar_orb_is_wired_to_the_listen_toggle)
|
|
侧栏那颗球是用户最常点的开关,HTML 上必须真的绑着动作。 ... ok
|
|
test_stale_queue_key_never_mutates_previous_selection (test_qt_console_bridge.ConsoleBridgeTest.test_stale_queue_key_never_mutates_previous_selection) ... ok
|
|
test_state_is_not_cached_before_webchannel_handshake (test_qt_console_bridge.ConsoleBridgeTest.test_state_is_not_cached_before_webchannel_handshake) ... ok
|
|
test_the_console_script_handles_that_action (test_qt_console_bridge.ConsoleBridgeTest.test_the_console_script_handles_that_action) ... ok
|
|
test_the_feedback_helper_covers_pending_result_and_failure (test_qt_console_bridge.ConsoleBridgeTest.test_the_feedback_helper_covers_pending_result_and_failure)
|
|
反馈要三段齐全:立刻响应、真实结果、失败也要说清。 ... ok
|
|
test_the_save_slots_report_their_result_back (test_qt_console_bridge.ConsoleBridgeTest.test_the_save_slots_report_their_result_back)
|
|
Qt 侧的保存槽必须把结果回传,否则网页那边永远只能瞎猜。 ... ok
|
|
test_the_scale_never_depends_on_page_height_or_device_pixel_ratio (test_qt_console_bridge.ConsoleBridgeTest.test_the_scale_never_depends_on_page_height_or_device_pixel_ratio) ... ok
|
|
test_the_side_rail_height_does_not_follow_page_content (test_qt_console_bridge.ConsoleBridgeTest.test_the_side_rail_height_does_not_follow_page_content)
|
|
侧栏在每一页必须一样高。 ... ok
|
|
test_toggle_listen_starts_and_stops_the_host (test_qt_console_bridge.ConsoleBridgeTest.test_toggle_listen_starts_and_stops_the_host) ... ok
|
|
test_capsule_preserves_verification_progress (test_listener_ui_continuity.ListenerUIContinuityTests.test_capsule_preserves_verification_progress) ... ok
|
|
test_explicit_stop_still_finishes_worker (test_listener_ui_continuity.ListenerUIContinuityTests.test_explicit_stop_still_finishes_worker) ... ok
|
|
test_protocol_task_attention_does_not_disconnect_healthy_listener (test_listener_ui_continuity.ListenerUIContinuityTests.test_protocol_task_attention_does_not_disconnect_healthy_listener) ... ok
|
|
test_recoverable_wait_does_not_mark_queue_as_stopped (test_listener_ui_continuity.ListenerUIContinuityTests.test_recoverable_wait_does_not_mark_queue_as_stopped) ... ok
|
|
test_sidebar_waiting_keeps_stop_button_active (test_listener_ui_continuity.ListenerUIContinuityTests.test_sidebar_waiting_keeps_stop_button_active) ... ok
|
|
test_waiting_states_keep_running_and_stop_control_available (test_listener_ui_continuity.ListenerUIContinuityTests.test_waiting_states_keep_running_and_stop_control_available) ... ok
|
|
test_web_labels_distinguish_waiting_from_stopped (test_listener_ui_continuity.ListenerUIContinuityTests.test_web_labels_distinguish_waiting_from_stopped) ... ok
|
|
test_a_clock_rollback_never_deletes_a_fresh_log (test_runtime_settings.LogRetentionTest.test_a_clock_rollback_never_deletes_a_fresh_log) ... ok
|
|
test_a_shorter_window_deletes_more (test_runtime_settings.LogRetentionTest.test_a_shorter_window_deletes_more) ... ok
|
|
test_logs_older_than_the_retention_window_are_deleted (test_runtime_settings.LogRetentionTest.test_logs_older_than_the_retention_window_are_deleted) ... ok
|
|
test_out_of_range_values_fall_back_to_the_documented_defaults (test_runtime_settings.LogRetentionTest.test_out_of_range_values_fall_back_to_the_documented_defaults) ... ok
|
|
test_the_file_count_cap_still_applies (test_runtime_settings.LogRetentionTest.test_the_file_count_cap_still_applies) ... ok
|
|
test_unreadable_directory_never_breaks_startup (test_runtime_settings.LogRetentionTest.test_unreadable_directory_never_breaks_startup) ... ok
|
|
test_atomic_operation_progress_includes_phase_step_detail_and_customer (test_runtime_settings.RuntimeSettingsTest.test_atomic_operation_progress_includes_phase_step_detail_and_customer) ... ok
|
|
test_bot_uses_instance_batch_window_when_call_has_no_override (test_runtime_settings.RuntimeSettingsTest.test_bot_uses_instance_batch_window_when_call_has_no_override) ... ok
|
|
test_classic_capsule_renders_each_progress_message_as_a_numbered_step (test_runtime_settings.RuntimeSettingsTest.test_classic_capsule_renders_each_progress_message_as_a_numbered_step) ... ok
|
|
test_classic_queue_consumes_the_runtime_progress_channel (test_runtime_settings.RuntimeSettingsTest.test_classic_queue_consumes_the_runtime_progress_channel) ... ok
|
|
test_classic_settings_save_persists_and_updates_live_thread (test_runtime_settings.RuntimeSettingsTest.test_classic_settings_save_persists_and_updates_live_thread) ... ok
|
|
test_customer_chat_body_is_not_mirrored_into_floating_capsule (test_runtime_settings.RuntimeSettingsTest.test_customer_chat_body_is_not_mirrored_into_floating_capsule) ... ok
|
|
test_invalid_saved_batch_window_falls_back_to_twenty_seconds (test_runtime_settings.RuntimeSettingsTest.test_invalid_saved_batch_window_falls_back_to_twenty_seconds) ... ok
|
|
test_invalid_saved_send_delay_falls_back_to_one_second (test_runtime_settings.RuntimeSettingsTest.test_invalid_saved_send_delay_falls_back_to_one_second) ... ok
|
|
test_invalid_send_mode_falls_back_to_automatic (test_runtime_settings.RuntimeSettingsTest.test_invalid_send_mode_falls_back_to_automatic) ... ok
|
|
test_legacy_settings_without_batch_window_keep_twenty_second_default (test_runtime_settings.RuntimeSettingsTest.test_legacy_settings_without_batch_window_keep_twenty_second_default) ... ok
|
|
test_manual_queue_delete_removes_only_selected_full_key_atomically (test_runtime_settings.RuntimeSettingsTest.test_manual_queue_delete_removes_only_selected_full_key_atomically) ... ok
|
|
test_manual_retry_only_requeues_retry_wait_tasks (test_runtime_settings.RuntimeSettingsTest.test_manual_retry_only_requeues_retry_wait_tasks) ... ok
|
|
test_message_copy_retries_when_wecom_writes_clipboard_late (test_runtime_settings.RuntimeSettingsTest.test_message_copy_retries_when_wecom_writes_clipboard_late) ... ok
|
|
test_retry_request_queues_until_bot_startup_finishes (test_runtime_settings.RuntimeSettingsTest.test_retry_request_queues_until_bot_startup_finishes) ... ok
|
|
test_review_pending_state_survives_restart (test_runtime_settings.RuntimeSettingsTest.test_review_pending_state_survives_restart) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
|
ok
|
|
test_runtime_thread_syncs_updated_batch_window_before_next_poll (test_runtime_settings.RuntimeSettingsTest.test_runtime_thread_syncs_updated_batch_window_before_next_poll) ... [引擎B] 数据直读检测已启动
|
|
[+] 窗口激活模式已开启:企业微信未显示时会自动还原到前台
|
|
[i] 数据库新消息与未读标记共同触发回复任务,窗口异常时保留任务并重试
|
|
[+] 人机共存已开启:鼠标静止 5 秒后才自动操作
|
|
[+] 连续消息合并等待:7 秒
|
|
[+] 发送前等待:1.5 秒
|
|
[+] 发送模式:人工审核草稿(AI 只把回复填进输入框,不会自动按回车;需要自动发送请在设置里切到“自动发送”)
|
|
[引擎B] DB 直读失败: 数据库正在初始化或刷新,暂用备用读取,备用检测继续运行
|
|
ok
|
|
test_send_delay_wait_is_independent_and_interruptible (test_runtime_settings.RuntimeSettingsTest.test_send_delay_wait_is_independent_and_interruptible) ... ok
|
|
test_tagged_low_level_logs_are_mirrored_to_capsule_progress (test_runtime_settings.RuntimeSettingsTest.test_tagged_low_level_logs_are_mirrored_to_capsule_progress) ... ok
|
|
|
|
----------------------------------------------------------------------
|
|
Ran 86 tests in 5.175s
|
|
|
|
OK
|