From 04ed77ddf0e0766e8955ca31dbf9812d4b835eb0 Mon Sep 17 00:00:00 2001 From: Fengyi Li <68875335+Fengyi-Li@users.noreply.github.com> Date: Thu, 2 Jun 2022 10:20:12 -0700 Subject: [PATCH] Update prebuild availability status display at codespace creation (#5737) --- pkg/cmd/codespace/create.go | 15 +++++++++------ pkg/cmd/codespace/create_test.go | 10 ++++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/pkg/cmd/codespace/create.go b/pkg/cmd/codespace/create.go index 610c3a519..49d950e9f 100644 --- a/pkg/cmd/codespace/create.go +++ b/pkg/cmd/codespace/create.go @@ -466,12 +466,15 @@ func getRepoSuggestions(ctx context.Context, apiClient apiClient, partialSearch } // buildDisplayName returns display name to be used in the machine survey prompt. +// prebuildAvailability will be migrated to use enum values: "none", "ready", "in_progress" before Prebuild GA +// Enum values "blob" and "pool" will be deprecated soon. func buildDisplayName(displayName string, prebuildAvailability string) string { - prebuildText := "" - - if prebuildAvailability == "blob" || prebuildAvailability == "pool" { - prebuildText = " (Prebuild ready)" + switch prebuildAvailability { + case "blob", "pool", "ready": + return displayName + " (Prebuild ready)" + case "in_progress": + return displayName + " (Prebuild in progress)" + default: + return displayName } - - return fmt.Sprintf("%s%s", displayName, prebuildText) } diff --git a/pkg/cmd/codespace/create_test.go b/pkg/cmd/codespace/create_test.go index cc7ff3700..910c73495 100644 --- a/pkg/cmd/codespace/create_test.go +++ b/pkg/cmd/codespace/create_test.go @@ -373,6 +373,16 @@ func TestBuildDisplayName(t *testing.T) { prebuildAvailability: "", expectedDisplayName: "4 cores, 8 GB RAM, 32 GB storage", }, + { + name: "prebuild availability is ready", + prebuildAvailability: "ready", + expectedDisplayName: "4 cores, 8 GB RAM, 32 GB storage (Prebuild ready)", + }, + { + name: "prebuild availability is in_progress", + prebuildAvailability: "in_progress", + expectedDisplayName: "4 cores, 8 GB RAM, 32 GB storage (Prebuild in progress)", + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {