summaryrefslogtreecommitdiff
path: root/internal/askcli/command_complete_uuids_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-27 06:23:24 +0200
committerPaul Buetow <paul@buetow.org>2026-03-27 06:23:24 +0200
commit2edeaa610553b667776010bf2e9f5596aaa8ddbd (patch)
treeb32b5c3946061f3e06ae274b5c4260358985f04f /internal/askcli/command_complete_uuids_test.go
parent6b964400deb653d2c47aa8932ab5444346833b0d (diff)
task 73fabcf6-d4a1-4bf3-aae1-a390a734e517: extend ask selector completion
Diffstat (limited to 'internal/askcli/command_complete_uuids_test.go')
-rw-r--r--internal/askcli/command_complete_uuids_test.go24
1 files changed, 21 insertions, 3 deletions
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)
+ }
+}