fix(web): restore CanvasKit test coverage

This commit is contained in:
Kayshen-X 2026-07-15 22:47:28 +08:00
parent a37d9a8d3d
commit ab1218eab0
4 changed files with 18 additions and 5 deletions

View file

@ -411,9 +411,11 @@ mod tests {
#[test]
fn prepare_turn_carries_model_and_message() {
let mut state = state_with_queued_send("design a login page");
state.chat.available_models = vec![ModelEntry::new(
state.chat.available_models = vec![ModelEntry::builtin_with_display_name(
AgentProvider::ClaudeCode,
"claude-sonnet-4-5",
"daemon-builtin:server-1",
"Server API Key",
"builtin:server-1:claude-sonnet-4-5",
"Claude Sonnet 4.5",
)];
state.chat.selected_model = 0;
@ -423,7 +425,7 @@ mod tests {
let body: serde_json::Value =
serde_json::from_str(&prepared.body_json).expect("body is JSON");
assert_eq!(body["provider"], "claude-code");
assert_eq!(body["model"], "claude-sonnet-4-5");
assert_eq!(body["model"], "builtin:server-1:claude-sonnet-4-5");
assert_eq!(body["user"], "design a login page");
assert_eq!(body["max_output_tokens"], 4096);
assert_eq!(body["agent_team_size"], 3);

View file

@ -1,4 +1,5 @@
use super::*;
use op_editor_core::chat::{AgentProvider, ModelEntry};
fn state_with_queued_send(text: &str) -> EditorState {
let mut state = EditorState::new();

View file

@ -1,5 +1,5 @@
use super::*;
use op_editor_core::EditorState;
use op_editor_core::{AgentProvider, EditorState};
#[test]
fn legacy_acp_in_separate_credentials_is_removed_without_losing_builtin_keys() {
@ -189,7 +189,10 @@ fn legacy_acp_configuration_is_removed_without_loading_or_migrating_it() {
assert!(!writes[0].1.contains("legacy-env-secret"));
assert!(!writes[0].1.contains("legacy-url-secret"));
assert!(state.editor_ui.agent_settings.acp_agents.is_empty());
assert_eq!(state.editor_ui.agent_settings.connected, [false; 5]);
assert_eq!(
state.editor_ui.agent_settings.connected,
[false; AgentProvider::ALL.len()]
);
}
#[test]

View file

@ -182,6 +182,13 @@ fn validate_general_semantics(payload: &SettingsPayload) -> Result<(), String> {
if payload.mcp_port.is_some_and(|port| port < 1024) {
return Err("browser MCP port would be normalized".into());
}
if payload
.mcp_cli_enabled
.as_ref()
.is_some_and(|enabled| enabled.len() != McpCli::ALL.len())
{
return Err("browser MCP CLI flags would be normalized".into());
}
if payload
.recent_files
.as_ref()