fix(templates): open_project ne rétro-synchronise plus les permissions agents vers les templates — #244 (QA verte)

Suppression du backfill agent→template au open_project (cause racine de la non-persistance des permissions MCP/system des templates) et couverture de régression : create/read/update des default permissions + test dédié open_project sans backfill.
This commit is contained in:
2026-08-23 13:03:07 +02:00
parent 4b206402d7
commit 0a7d7f844e
3 changed files with 189 additions and 78 deletions

View File

@ -277,14 +277,31 @@ async fn create_template_starts_at_initial_version() {
name: "Backend".to_owned(),
content: "# ctx".to_owned(),
default_profile_id: pid(7),
default_agent_name: None,
default_system_permissions: None,
default_mcp_tool_policy: None,
default_agent_name: Some("Backend Agent".to_owned()),
default_system_permissions: Some(SystemPermissionSet::new(Some(NetworkPolicy::Allow))),
default_mcp_tool_policy: Some(McpToolPolicy {
allowed_tools: vec!["idea_template_read".to_owned()],
}),
})
.await
.unwrap();
assert_eq!(out.template.version, TemplateVersion::INITIAL);
assert_eq!(out.template.default_profile_id, pid(7));
assert_eq!(
out.template.default_agent_name.as_deref(),
Some("Backend Agent")
);
assert_eq!(
out.template.default_system_permissions,
Some(SystemPermissionSet::new(Some(NetworkPolicy::Allow)))
);
assert_eq!(
out.template.default_mcp_tool_policy,
Some(McpToolPolicy {
allowed_tools: vec!["idea_template_read".to_owned()]
})
);
assert_eq!(store.get_sync(out.template.id).unwrap(), out.template);
assert_eq!(store.list().await.unwrap().len(), 1);
}