mirror of
https://github.com/coder/coder.git
synced 2025-03-14 10:09:57 +00:00
102 lines
2.5 KiB
Go
102 lines
2.5 KiB
Go
package codersdk
|
|
|
|
import "testing"
|
|
|
|
func TestWorkspaceDisplayStatus(t *testing.T) {
|
|
t.Parallel()
|
|
tests := []struct {
|
|
name string
|
|
jobStatus ProvisionerJobStatus
|
|
transition WorkspaceTransition
|
|
want string
|
|
}{
|
|
{
|
|
name: "SucceededStatusWithStartTransition",
|
|
jobStatus: ProvisionerJobSucceeded,
|
|
transition: WorkspaceTransitionStart,
|
|
want: "Started",
|
|
},
|
|
{
|
|
name: "SucceededStatusWithStopTransition",
|
|
jobStatus: ProvisionerJobSucceeded,
|
|
transition: WorkspaceTransitionStop,
|
|
want: "Stopped",
|
|
},
|
|
{
|
|
name: "SucceededStatusWithDeleteTransition",
|
|
jobStatus: ProvisionerJobSucceeded,
|
|
transition: WorkspaceTransitionDelete,
|
|
want: "Deleted",
|
|
},
|
|
{
|
|
name: "RunningStatusWithStartTransition",
|
|
jobStatus: ProvisionerJobRunning,
|
|
transition: WorkspaceTransitionStart,
|
|
want: "Starting",
|
|
},
|
|
{
|
|
name: "RunningStatusWithStopTransition",
|
|
jobStatus: ProvisionerJobRunning,
|
|
transition: WorkspaceTransitionStop,
|
|
want: "Stopping",
|
|
},
|
|
{
|
|
name: "RunningStatusWithDeleteTransition",
|
|
jobStatus: ProvisionerJobRunning,
|
|
transition: WorkspaceTransitionDelete,
|
|
want: "Deleting",
|
|
},
|
|
{
|
|
name: "PendingStatusWithStartTransition",
|
|
jobStatus: ProvisionerJobPending,
|
|
transition: WorkspaceTransitionStart,
|
|
want: "Queued",
|
|
},
|
|
{
|
|
name: "CancelingStatusWithStartTransition",
|
|
jobStatus: ProvisionerJobCanceling,
|
|
transition: WorkspaceTransitionStart,
|
|
want: "Canceling",
|
|
},
|
|
{
|
|
name: "CanceledStatusWithStartTransition",
|
|
jobStatus: ProvisionerJobCanceled,
|
|
transition: WorkspaceTransitionStart,
|
|
want: "Canceled",
|
|
},
|
|
{
|
|
name: "FailedStatusWithDeleteTransition",
|
|
jobStatus: ProvisionerJobFailed,
|
|
transition: WorkspaceTransitionDelete,
|
|
want: "Failed",
|
|
},
|
|
{
|
|
name: "EmptyStatusWithDeleteTransition",
|
|
jobStatus: "",
|
|
transition: WorkspaceTransitionDelete,
|
|
want: unknownStatus,
|
|
},
|
|
{
|
|
name: "RunningStatusWithEmptyTransition",
|
|
jobStatus: ProvisionerJobRunning,
|
|
transition: "",
|
|
want: unknownStatus,
|
|
},
|
|
{
|
|
name: "SucceededStatusWithEmptyTransition",
|
|
jobStatus: ProvisionerJobSucceeded,
|
|
transition: "",
|
|
want: unknownStatus,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
tt := tt
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
t.Parallel()
|
|
if got := WorkspaceDisplayStatus(tt.jobStatus, tt.transition); got != tt.want {
|
|
t.Errorf("workspaceStatus() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|