fix(BulkDeleteIssues): implémente retour BatchIssueResult sans issue (#7)
This commit is contained in:
@ -591,7 +591,11 @@ impl BulkDeleteIssues {
|
|||||||
issue_ref,
|
issue_ref,
|
||||||
freed_sprint,
|
freed_sprint,
|
||||||
});
|
});
|
||||||
BatchIssueResult::deleted(issue_ref)
|
BatchIssueResult {
|
||||||
|
issue_ref,
|
||||||
|
issue: None,
|
||||||
|
error: None,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Err(err) => BatchIssueResult::err(issue_ref, AppError::from(err)),
|
Err(err) => BatchIssueResult::err(issue_ref, AppError::from(err)),
|
||||||
}
|
}
|
||||||
|
|||||||
@ -97,13 +97,13 @@ pub use git::{
|
|||||||
pub use health::{HealthInput, HealthReport, HealthUseCase};
|
pub use health::{HealthInput, HealthReport, HealthUseCase};
|
||||||
pub use issues::{
|
pub use issues::{
|
||||||
AssignIssueAgent, AssignIssueAgentInput, AssignIssueAgentOutput, BatchIssueResult,
|
AssignIssueAgent, AssignIssueAgentInput, AssignIssueAgentOutput, BatchIssueResult,
|
||||||
BulkIssueMutationOutput, BulkUpdateIssuePriority, BulkUpdateIssuePriorityInput,
|
BulkDeleteIssues, BulkDeleteIssuesInput, BulkIssueMutationOutput, BulkUpdateIssuePriority,
|
||||||
BulkUpdateIssueStatus, BulkUpdateIssueStatusInput, CreateIssue, CreateIssueInput,
|
BulkUpdateIssuePriorityInput, BulkUpdateIssueStatus, BulkUpdateIssueStatusInput, CreateIssue,
|
||||||
CreateIssueOutput, DeleteIssue, DeleteIssueInput, DeleteIssueOutput, LinkIssues,
|
CreateIssueInput, CreateIssueOutput, DeleteIssue, DeleteIssueInput, DeleteIssueOutput,
|
||||||
LinkIssuesInput, LinkIssuesOutput, ListIssues, ListIssuesInput, ListIssuesOutput, ReadIssue,
|
LinkIssues, LinkIssuesInput, LinkIssuesOutput, ListIssues, ListIssuesInput, ListIssuesOutput,
|
||||||
ReadIssueCarnet, ReadIssueCarnetInput, ReadIssueCarnetOutput, ReadIssueInput, ReadIssueOutput,
|
ReadIssue, ReadIssueCarnet, ReadIssueCarnetInput, ReadIssueCarnetOutput, ReadIssueInput,
|
||||||
UnlinkIssues, UnlinkIssuesInput, UpdateIssue, UpdateIssueCarnet, UpdateIssueCarnetInput,
|
ReadIssueOutput, UnlinkIssues, UnlinkIssuesInput, UpdateIssue, UpdateIssueCarnet,
|
||||||
UpdateIssueCarnetOutput, UpdateIssueInput, UpdateIssueOutput,
|
UpdateIssueCarnetInput, UpdateIssueCarnetOutput, UpdateIssueInput, UpdateIssueOutput,
|
||||||
};
|
};
|
||||||
pub use layout::{
|
pub use layout::{
|
||||||
CreateLayout, CreateLayoutInput, CreateLayoutOutput, DeleteLayout, DeleteLayoutInput,
|
CreateLayout, CreateLayoutInput, CreateLayoutOutput, DeleteLayout, DeleteLayoutInput,
|
||||||
|
|||||||
@ -530,11 +530,7 @@ async fn bulk_update_status_preserves_order_and_allows_partial_success() {
|
|||||||
issues.create(&project.root, &issue).await.unwrap();
|
issues.create(&project.root, &issue).await.unwrap();
|
||||||
}
|
}
|
||||||
let bus = Arc::new(SpyBus::default());
|
let bus = Arc::new(SpyBus::default());
|
||||||
let uc = BulkUpdateIssueStatus::new(
|
let uc = BulkUpdateIssueStatus::new(issues.clone(), Arc::new(FixedClock), bus.clone());
|
||||||
issues.clone(),
|
|
||||||
Arc::new(FixedClock),
|
|
||||||
bus.clone(),
|
|
||||||
);
|
|
||||||
|
|
||||||
let out = uc
|
let out = uc
|
||||||
.execute(BulkUpdateIssueStatusInput {
|
.execute(BulkUpdateIssueStatusInput {
|
||||||
@ -587,11 +583,7 @@ async fn bulk_update_priority_updates_each_existing_ticket() {
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
issues.create(&project.root, &initial).await.unwrap();
|
issues.create(&project.root, &initial).await.unwrap();
|
||||||
let bus = Arc::new(SpyBus::default());
|
let bus = Arc::new(SpyBus::default());
|
||||||
let uc = BulkUpdateIssuePriority::new(
|
let uc = BulkUpdateIssuePriority::new(issues.clone(), Arc::new(FixedClock), bus.clone());
|
||||||
issues.clone(),
|
|
||||||
Arc::new(FixedClock),
|
|
||||||
bus.clone(),
|
|
||||||
);
|
|
||||||
|
|
||||||
let out = uc
|
let out = uc
|
||||||
.execute(BulkUpdateIssuePriorityInput {
|
.execute(BulkUpdateIssuePriorityInput {
|
||||||
|
|||||||
@ -15,25 +15,25 @@ use application::{
|
|||||||
AgentResumer, AgentWakeService, AppError, AssignIssueAgent, AssignSkillToAgent,
|
AgentResumer, AgentWakeService, AppError, AssignIssueAgent, AssignSkillToAgent,
|
||||||
AssignTicketToSprint, AttachLiveAgent, AuthenticateSession, BackgroundCommandArchive,
|
AssignTicketToSprint, AttachLiveAgent, AuthenticateSession, BackgroundCommandArchive,
|
||||||
BulkUpdateIssuePriority, BulkUpdateIssueStatus, CancelBackgroundTask, ChangeAgentProfile,
|
BulkUpdateIssuePriority, BulkUpdateIssueStatus, CancelBackgroundTask, ChangeAgentProfile,
|
||||||
CheckEmbedderSuggestion, CloneOpenCodeProfileFromSeed,
|
CheckEmbedderSuggestion, CloneOpenCodeProfileFromSeed, CloneProfileFromSeed, CloseProject,
|
||||||
CloneProfileFromSeed, CloseProject, CloseTab, CloseTerminal, CloseTicketAssistant,
|
CloseTab, CloseTerminal, CloseTicketAssistant, ConfigureProfiles, ContextGuardUseCases,
|
||||||
ConfigureProfiles, ContextGuardUseCases, CreateAgentFromScratch, CreateAgentFromTemplate,
|
CreateAgentFromScratch, CreateAgentFromTemplate, CreateIssue, CreateLayout, CreateMemory,
|
||||||
CreateIssue, CreateLayout, CreateMemory, CreateProject, CreateSkill, CreateSprint,
|
CreateProject, CreateSkill, CreateSprint, CreateTemplate, DeleteAgent, DeleteEmbedderProfile,
|
||||||
CreateTemplate, DeleteAgent, DeleteEmbedderProfile, DeleteIssue, DeleteLayout, DeleteMemory,
|
DeleteIssue, DeleteLayout, DeleteMemory, DeleteModelArtifact, DeleteModelServer, DeleteProfile,
|
||||||
DeleteModelArtifact, DeleteModelServer, DeleteProfile, DeleteSkill, DeleteSprint,
|
DeleteSkill, DeleteSprint, DeleteTemplate, DescribeEmbedderEngines, DetectAgentDrift,
|
||||||
DeleteTemplate, DescribeEmbedderEngines, DetectAgentDrift, DetectProfiles,
|
DetectProfiles, DismissEmbedderSuggestion, EnsureLocalModelServer, FirstRunState,
|
||||||
DismissEmbedderSuggestion, EnsureLocalModelServer, FirstRunState, GetAppExitWorkGuardState,
|
GetAppExitWorkGuardState, GetLiveStateLean, GetMemory, GetProjectPermissions,
|
||||||
GetLiveStateLean, GetMemory, GetProjectPermissions, GetProjectSystemPermissions,
|
GetProjectSystemPermissions, GetProjectWorkState, GitBranches, GitCheckout, GitCommit,
|
||||||
GetProjectWorkState, GitBranches, GitCheckout, GitCommit, GitGraph, GitInit, GitLog, GitStage,
|
GitGraph, GitInit, GitLog, GitStage, GitStatus, GitUnstage, HarvestMemoryFromTurn,
|
||||||
GitStatus, GitUnstage, HarvestMemoryFromTurn, HealthUseCase, InspectConversation,
|
HealthUseCase, InspectConversation, InstallPluginFromArchive, InstallPluginFromDirectory,
|
||||||
InstallPluginFromArchive, InstallPluginFromDirectory, JsonPluginManifestValidator, LaunchAgent,
|
JsonPluginManifestValidator, LaunchAgent, LaunchAgentInput, LinkIssues, ListAgents,
|
||||||
LaunchAgentInput, LinkIssues, ListAgents, ListAgentsInput, ListClaudeModels, ListCodexModels,
|
ListAgentsInput, ListClaudeModels, ListCodexModels, ListDevices, ListEmbedderProfiles,
|
||||||
ListDevices, ListEmbedderProfiles, ListIssues, ListLayouts, ListMemories, ListModelServers,
|
ListIssues, ListLayouts, ListMemories, ListModelServers, ListOpenCodeProviders,
|
||||||
ListOpenCodeProviders, ListPluginRuntimeContributions, ListPlugins, ListProfiles, ListProjects,
|
ListPluginRuntimeContributions, ListPlugins, ListProfiles, ListProjects, ListResumableAgents,
|
||||||
ListResumableAgents, ListSkills, ListSprints, ListTemplates, LiveAgentRegistry, LiveSessions,
|
ListSkills, ListSprints, ListTemplates, LiveAgentRegistry, LiveSessions, LiveStateLeanProvider,
|
||||||
LiveStateLeanProvider, LiveStateProvider, LiveStateReadProvider, LoadLayout, McpRuntime,
|
LiveStateProvider, LiveStateReadProvider, LoadLayout, McpRuntime, McpToolPermissionCatalogue,
|
||||||
McpToolPermissionCatalogue, MoveTabToNewWindow, MutateLayout, OnnxModelView, OpenProject,
|
MoveTabToNewWindow, MutateLayout, OnnxModelView, OpenProject, OpenTerminal,
|
||||||
OpenTerminal, OpenTicketAssistant, OrchestratorService, PairAttemptLimiter, PairDevice,
|
OpenTicketAssistant, OrchestratorService, PairAttemptLimiter, PairDevice,
|
||||||
PermissionProjectorRegistry, ProposeContext, ReadAgentContext, ReadContext,
|
PermissionProjectorRegistry, ProposeContext, ReadAgentContext, ReadContext,
|
||||||
ReadConversationPage, ReadIssue, ReadIssueCarnet, ReadMcpToolPermissions, ReadMemory,
|
ReadConversationPage, ReadIssue, ReadIssueCarnet, ReadMcpToolPermissions, ReadMemory,
|
||||||
ReadMemoryIndex, ReadProjectContext, ReadSkill, ReadTemplate, RecallMemory, ReconcileLayouts,
|
ReadMemoryIndex, ReadProjectContext, ReadSkill, ReadTemplate, RecallMemory, ReconcileLayouts,
|
||||||
|
|||||||
@ -769,11 +769,11 @@ async fn tools_list_advertises_the_idea_tools_with_schemas() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
assert!(!names.contains(&"idea_reply"));
|
assert!(!names.contains(&"idea_reply"));
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
tools.len(),
|
tools.len(),
|
||||||
33,
|
33,
|
||||||
"exactly the thirty-three exposed idea_* tools; got {names:?}"
|
"exactly the thirty-three exposed idea_* tools; got {names:?}"
|
||||||
);
|
);
|
||||||
|
|
||||||
// Every tool advertises an object input schema.
|
// Every tool advertises an object input schema.
|
||||||
for t in tools {
|
for t in tools {
|
||||||
|
|||||||
Reference in New Issue
Block a user