Skip to content

Commit fe72ba9

Browse files
committed
use dbfake for testing sort order
1 parent 87f4d52 commit fe72ba9

File tree

1 file changed

+20
-26
lines changed

1 file changed

+20
-26
lines changed

coderd/workspaces_test.go

+20-26
Original file line numberDiff line numberDiff line change
@@ -479,55 +479,49 @@ func TestAdminViewAllWorkspaces(t *testing.T) {
479479
func TestWorkspacesSortOrder(t *testing.T) {
480480
t.Parallel()
481481

482-
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
482+
client, db := coderdtest.NewWithDatabase(t, nil)
483483
firstUser := coderdtest.CreateFirstUser(t, client)
484-
version := coderdtest.CreateTemplateVersion(t, client, firstUser.OrganizationID, nil)
485-
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
486-
template := coderdtest.CreateTemplate(t, client, firstUser.OrganizationID, version.ID)
487484

488485
// c-workspace should be running
489-
workspace1 := coderdtest.CreateWorkspace(t, client, firstUser.OrganizationID, template.ID, func(ctr *codersdk.CreateWorkspaceRequest) {
490-
ctr.Name = "c-workspace"
491-
})
492-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace1.LatestBuild.ID)
486+
wsb1 := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "c-workspace", OwnerID: firstUser.UserID, OrganizationID: firstUser.OrganizationID}).Do()
493487

494488
// b-workspace should be stopped
495-
workspace2 := coderdtest.CreateWorkspace(t, client, firstUser.OrganizationID, template.ID, func(ctr *codersdk.CreateWorkspaceRequest) {
496-
ctr.Name = "b-workspace"
497-
})
498-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace2.LatestBuild.ID)
499-
500-
build2 := coderdtest.CreateWorkspaceBuild(t, client, workspace2, database.WorkspaceTransitionStop)
501-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, build2.ID)
489+
wsb2 := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "b-workspace", OwnerID: firstUser.UserID, OrganizationID: firstUser.OrganizationID}).Seed(database.WorkspaceBuild{Transition: database.WorkspaceTransitionStop}).Do()
502490

503491
// a-workspace should be running
504-
workspace3 := coderdtest.CreateWorkspace(t, client, firstUser.OrganizationID, template.ID, func(ctr *codersdk.CreateWorkspaceRequest) {
505-
ctr.Name = "a-workspace"
506-
})
507-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace3.LatestBuild.ID)
492+
wsb3 := dbfake.WorkspaceBuild(t, db, database.Workspace{Name: "a-workspace", OwnerID: firstUser.UserID, OrganizationID: firstUser.OrganizationID}).Do()
508493

509494
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
510495
defer cancel()
511496
workspacesResponse, err := client.Workspaces(ctx, codersdk.WorkspaceFilter{})
512497
require.NoError(t, err, "(first) fetch workspaces")
513498
workspaces := workspacesResponse.Workspaces
514499

515-
expected := []string{
516-
workspace3.Name,
517-
workspace1.Name,
518-
workspace2.Name,
500+
expectedNames := []string{
501+
wsb3.Workspace.Name,
502+
wsb1.Workspace.Name,
503+
wsb2.Workspace.Name,
504+
}
505+
506+
expectedStatus := []codersdk.WorkspaceStatus{
507+
codersdk.WorkspaceStatusRunning,
508+
codersdk.WorkspaceStatusRunning,
509+
codersdk.WorkspaceStatusStopped,
519510
}
520511

521-
var actual []string
512+
var actualNames []string
513+
var actualStatus []codersdk.WorkspaceStatus
522514
for _, w := range workspaces {
523-
actual = append(actual, w.Name)
515+
actualNames = append(actualNames, w.Name)
516+
actualStatus = append(actualStatus, w.LatestBuild.Status)
524517
}
525518

526519
// the correct sorting order is:
527520
// 1. Running workspaces
528521
// 2. Sort by usernames
529522
// 3. Sort by workspace names
530-
require.Equal(t, expected, actual)
523+
assert.Equal(t, expectedNames, actualNames)
524+
assert.Equal(t, expectedStatus, actualStatus)
531525
}
532526

533527
func TestPostWorkspacesByOrganization(t *testing.T) {

0 commit comments

Comments
 (0)