fix(templates): mcpToolPermissions persisté via create/update_template — désérialisation par alias préférés (mcpToolPermissions > defaultMcpToolPermissions > defaultMcpToolPolicy) sur les DTO Create/UpdateTemplateRequestDto — #244 (QA verte)
This commit is contained in:
@ -255,6 +255,24 @@ fn create_template_request_deserialises_template_defaults() {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn create_template_request_deserialises_frontend_mcp_tool_permissions_key() {
|
||||
let profile_id = Uuid::from_u128(22).to_string();
|
||||
let raw = json!({
|
||||
"name": "Backend Template",
|
||||
"content": "# My context",
|
||||
"defaultProfileId": profile_id,
|
||||
"mcpToolPermissions": { "allowedTools": ["idea_ticket_read"] }
|
||||
});
|
||||
let dto: CreateTemplateRequestDto = serde_json::from_value(raw).unwrap();
|
||||
assert_eq!(
|
||||
dto.default_mcp_tool_policy,
|
||||
Some(McpToolPolicy {
|
||||
allowed_tools: vec!["idea_ticket_read".to_owned()]
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn update_template_request_deserialises_camelcase() {
|
||||
let template_id = Uuid::from_u128(30).to_string();
|
||||
@ -291,6 +309,22 @@ fn update_template_request_deserialises_metadata_and_nullable_clears() {
|
||||
assert_eq!(dto.default_mcp_tool_policy, Some(None));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn update_template_request_does_not_currently_deserialise_frontend_mcp_tool_permissions_key() {
|
||||
let template_id = Uuid::from_u128(33).to_string();
|
||||
let raw = json!({
|
||||
"templateId": template_id,
|
||||
"mcpToolPermissions": { "allowedTools": ["idea_ticket_read"] }
|
||||
});
|
||||
let dto: UpdateTemplateRequestDto = serde_json::from_value(raw).unwrap();
|
||||
assert_eq!(
|
||||
dto.default_mcp_tool_policy,
|
||||
Some(Some(McpToolPolicy {
|
||||
allowed_tools: vec!["idea_ticket_read".to_owned()]
|
||||
}))
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn create_agent_from_template_request_deserialises_camelcase() {
|
||||
let project_id = Uuid::from_u128(40).to_string();
|
||||
|
||||
Reference in New Issue
Block a user