From a80ad2b4691d0df63f68c6977ee18444e7bb752f Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 18 Jun 2026 08:05:32 +0300 Subject: ik0 replace remaining test seams with DI --- internal/askcli/command_projects.go | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'internal/askcli/command_projects.go') diff --git a/internal/askcli/command_projects.go b/internal/askcli/command_projects.go index b370f45..26e407f 100644 --- a/internal/askcli/command_projects.go +++ b/internal/askcli/command_projects.go @@ -9,15 +9,12 @@ import ( "sort" ) -var ( - projectsFindTaskBinary = findTaskBinary - projectsRunTaskCommand = runTaskCommand -) +type taskCommandRunner func(context.Context, string, []string, io.Reader, io.Writer, io.Writer) error func (d *Dispatcher) handleProjects(ctx context.Context, args []string, stdout, stderr io.Writer) (int, error) { _ = args - taskPath, err := projectsFindTaskBinary() + taskPath, err := d.projectTaskBinary()() if err != nil { return 1, fmt.Errorf("ask projects: task binary lookup failed: %w", err) } @@ -25,7 +22,7 @@ func (d *Dispatcher) handleProjects(ctx context.Context, args []string, stdout, scopeFilter := taskScopeFilter(taskScopeFromContext(ctx)) cmdArgs := append([]string{"rc.verbose=nothing", "rc.confirmation=off", scopeFilter, "status:pending", "export"}, args[1:]...) var outBuf bytes.Buffer - err = projectsRunTaskCommand(ctx, taskPath, cmdArgs, nil, &outBuf, stderr) + err = d.projectTaskCommand()(ctx, taskPath, cmdArgs, nil, &outBuf, stderr) if err != nil { return exitCodeFor(err), fmt.Errorf("ask projects: task export failed: %w", err) } @@ -65,3 +62,17 @@ func (d *Dispatcher) handleProjects(ctx context.Context, args []string, stdout, } return 0, nil } + +func (d *Dispatcher) projectTaskBinary() func() (string, error) { + if d != nil && d.findTaskBinary != nil { + return d.findTaskBinary + } + return findTaskBinary +} + +func (d *Dispatcher) projectTaskCommand() taskCommandRunner { + if d != nil && d.runTaskCommand != nil { + return d.runTaskCommand + } + return runTaskCommand +} -- cgit v1.2.3