From 2edeaa610553b667776010bf2e9f5596aaa8ddbd Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 27 Mar 2026 06:23:24 +0200 Subject: task 73fabcf6-d4a1-4bf3-aae1-a390a734e517: extend ask selector completion --- internal/askcli/command_complete_uuids_test.go | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'internal/askcli/command_complete_uuids_test.go') diff --git a/internal/askcli/command_complete_uuids_test.go b/internal/askcli/command_complete_uuids_test.go index 2c8fc34..4a68e51 100644 --- a/internal/askcli/command_complete_uuids_test.go +++ b/internal/askcli/command_complete_uuids_test.go @@ -39,8 +39,8 @@ func TestHandleCompleteUUIDs_PrintsPendingUUIDs(t *testing.T) { if code != 0 { t.Fatalf("handleCompleteUUIDs code = %d, want 0", code) } - if got := stdout.String(); got != "uuid-1\nuuid-2\n" { - t.Fatalf("stdout = %q, want UUID list", got) + if got := stdout.String(); got != "0\nuuid-1\n1\nuuid-2\n" { + t.Fatalf("stdout = %q, want alias-first selector list", got) } if stderr.Len() != 0 { t.Fatalf("stderr = %q, want empty", stderr.String()) @@ -109,9 +109,27 @@ func TestHandleCompleteUUIDs_WarnsOnInvalidAliasCache(t *testing.T) { t.Fatalf("handleCompleteUUIDs code = %d, want 0", code) } if got := stdout.String(); got != "uuid-1\n" { - t.Fatalf("stdout = %q, want UUID list", got) + t.Fatalf("stdout = %q, want UUID-only fallback list", got) } if !strings.Contains(stderr.String(), "failed to update task alias cache") { t.Fatalf("stderr = %q, want cache warning", stderr.String()) } } + +func TestTaskCompletionSelectors_SkipsMissingAndDuplicateAliases(t *testing.T) { + tasks := []TaskExport{ + {UUID: "uuid-1"}, + {UUID: ""}, + {UUID: "uuid-2"}, + } + aliases := map[string]string{ + "uuid-1": "0", + "uuid-2": "uuid-2", + } + + got := taskCompletionSelectors(tasks, aliases) + want := []string{"0", "uuid-1", "uuid-2"} + if strings.Join(got, "\n") != strings.Join(want, "\n") { + t.Fatalf("taskCompletionSelectors = %v, want %v", got, want) + } +} -- cgit v1.2.3