Skip to content

Commit b85ae18

Browse files
committed
beef up sort order test
1 parent d998bc6 commit b85ae18

File tree

2 files changed

+32
-12
lines changed

2 files changed

+32
-12
lines changed

coderd/coderdtest/coderdtest.go

+10-5
Original file line numberDiff line numberDiff line change
@@ -600,14 +600,19 @@ var FirstUserParams = codersdk.CreateFirstUserRequest{
600600
}
601601

602602
// CreateFirstUser creates a user with preset credentials and authenticates
603-
// with the passed in codersdk client.
604-
func CreateFirstUser(t testing.TB, client *codersdk.Client) codersdk.CreateFirstUserResponse {
605-
resp, err := client.CreateFirstUser(context.Background(), FirstUserParams)
603+
// with the passed in codersdk client. Optionally, pass a function to mutate
604+
// the first user create request as required.
605+
func CreateFirstUser(t testing.TB, client *codersdk.Client, mutators ...func(*codersdk.CreateFirstUserRequest)) codersdk.CreateFirstUserResponse {
606+
params := FirstUserParams
607+
for _, mut := range mutators {
608+
mut(&params)
609+
}
610+
resp, err := client.CreateFirstUser(context.Background(), params)
606611
require.NoError(t, err)
607612

608613
login, err := client.LoginWithPassword(context.Background(), codersdk.LoginWithPasswordRequest{
609-
Email: FirstUserParams.Email,
610-
Password: FirstUserParams.Password,
614+
Email: params.Email,
615+
Password: params.Password,
611616
})
612617
require.NoError(t, err)
613618
client.SetSessionToken(login.SessionToken)

coderd/workspaces_test.go

+22-7
Original file line numberDiff line numberDiff line change
@@ -480,16 +480,27 @@ func TestWorkspacesSortOrder(t *testing.T) {
480480
t.Parallel()
481481

482482
client, db := coderdtest.NewWithDatabase(t, nil)
483-
firstUser := coderdtest.CreateFirstUser(t, client)
483+
firstUser := coderdtest.CreateFirstUser(t, client, func(r *codersdk.CreateFirstUserRequest) {
484+
r.Username = "aaa"
485+
})
486+
_, secondUser := coderdtest.CreateAnotherUserMutators(t, client, firstUser.OrganizationID, []string{"owner"}, func(r *codersdk.CreateUserRequest) {
487+
r.Username = "zzz"
488+
})
484489

485490
// c-workspace should be running
486-
wsb1 := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "c-workspace", OwnerID: firstUser.UserID, OrganizationID: firstUser.OrganizationID}).Do()
491+
wsbC := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "c-workspace", OwnerID: firstUser.UserID, OrganizationID: firstUser.OrganizationID}).Do()
487492

488493
// b-workspace should be stopped
489-
wsb2 := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "b-workspace", OwnerID: firstUser.UserID, OrganizationID: firstUser.OrganizationID}).Seed(database.WorkspaceBuild{Transition: database.WorkspaceTransitionStop}).Do()
494+
wsbB := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "b-workspace", OwnerID: firstUser.UserID, OrganizationID: firstUser.OrganizationID}).Seed(database.WorkspaceBuild{Transition: database.WorkspaceTransitionStop}).Do()
490495

491496
// a-workspace should be running
492-
wsb3 := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "a-workspace", OwnerID: firstUser.UserID, OrganizationID: firstUser.OrganizationID}).Do()
497+
wsbA := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "a-workspace", OwnerID: firstUser.UserID, OrganizationID: firstUser.OrganizationID}).Do()
498+
499+
// d-workspace should be stopped
500+
wsbD := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "d-workspace", OwnerID: secondUser.ID, OrganizationID: firstUser.OrganizationID}).Seed(database.WorkspaceBuild{Transition: database.WorkspaceTransitionStop}).Do()
501+
502+
// e-workspace should also be stopped
503+
wsbE := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "e-workspace", OwnerID: secondUser.ID, OrganizationID: firstUser.OrganizationID}).Seed(database.WorkspaceBuild{Transition: database.WorkspaceTransitionStop}).Do()
493504

494505
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
495506
defer cancel()
@@ -498,15 +509,19 @@ func TestWorkspacesSortOrder(t *testing.T) {
498509
workspaces := workspacesResponse.Workspaces
499510

500511
expectedNames := []string{
501-
wsb3.Workspace.Name,
502-
wsb1.Workspace.Name,
503-
wsb2.Workspace.Name,
512+
wsbA.Workspace.Name, // running
513+
wsbC.Workspace.Name, // running
514+
wsbB.Workspace.Name, // stopped, aaa < zzz
515+
wsbD.Workspace.Name, // stopped, zzz > aaa
516+
wsbE.Workspace.Name, // stopped, zzz > aaa
504517
}
505518

506519
expectedStatus := []codersdk.WorkspaceStatus{
507520
codersdk.WorkspaceStatusRunning,
508521
codersdk.WorkspaceStatusRunning,
509522
codersdk.WorkspaceStatusStopped,
523+
codersdk.WorkspaceStatusStopped,
524+
codersdk.WorkspaceStatusStopped,
510525
}
511526

512527
var actualNames []string

0 commit comments

Comments
 (0)