Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd998bc6

Browse files
committed
reduce scope of TestWorkspaceFavoriteUnfavorite to not include sorting order
1 parentfe72ba9 commitd998bc6

File tree

2 files changed

+26
-54
lines changed

2 files changed

+26
-54
lines changed

‎coderd/workspaces_test.go

Lines changed: 24 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -2931,84 +2931,56 @@ func TestWorkspaceFavoriteUnfavorite(t *testing.T) {
29312931
client,db=coderdtest.NewWithDatabase(t,&coderdtest.Options{
29322932
Auditor:auditRecorder,
29332933
})
2934-
owner=coderdtest.CreateFirstUser(t,client)
2935-
memberClient,member=coderdtest.CreateAnotherUser(t,client,owner.OrganizationID)
2934+
owner=coderdtest.CreateFirstUser(t,client)
2935+
memberClient,_=coderdtest.CreateAnotherUser(t,client,owner.OrganizationID)
29362936
// This will be our 'favorite' workspace
2937-
wsb1=dbfake.WorkspaceBuild(t,db, database.Workspace{OwnerID:member.ID,OrganizationID:owner.OrganizationID}).Do()
2938-
// Another workspace for member, but not their favorite.
2939-
_=dbfake.WorkspaceBuild(t,db, database.Workspace{OwnerID:member.ID,OrganizationID:owner.OrganizationID}).Do()
2940-
// A workspace for another user.
2941-
_=dbfake.WorkspaceBuild(t,db, database.Workspace{OwnerID:owner.UserID,OrganizationID:owner.OrganizationID}).Do()
2937+
wsb=dbfake.WorkspaceBuild(t,db, database.Workspace{OwnerID:owner.UserID,OrganizationID:owner.OrganizationID}).Do()
29422938
)
29432939

29442940
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
29452941
defercancel()
29462942

29472943
// Initially, workspace should not be favored for member.
2948-
workspaces,err:=memberClient.Workspaces(ctx, codersdk.WorkspaceFilter{})
2944+
workspaces,err:=client.Workspaces(ctx, codersdk.WorkspaceFilter{})
29492945
require.NoError(t,err)
2950-
require.Len(t,workspaces.Workspaces,2)
2946+
require.Len(t,workspaces.Workspaces,1)
29512947
require.False(t,workspaces.Workspaces[0].Favorite,"no favorites yet")
2952-
require.False(t,workspaces.Workspaces[1].Favorite,"no favorites yet")
2953-
ws,err:=memberClient.Workspace(ctx,wsb1.Workspace.ID)
2948+
ws,err:=client.Workspace(ctx,wsb.Workspace.ID)
29542949
require.NoError(t,err)
29552950
require.False(t,ws.Favorite)
29562951

2957-
// Also not for owner.
2958-
workspaces,err=client.Workspaces(ctx, codersdk.WorkspaceFilter{})
2959-
require.NoError(t,err)
2960-
require.Len(t,workspaces.Workspaces,3)
2961-
require.False(t,workspaces.Workspaces[0].Favorite,"this user is impartial and has no favorites")
2962-
require.False(t,workspaces.Workspaces[1].Favorite,"this user is impartial and has no favorites")
2963-
require.False(t,workspaces.Workspaces[2].Favorite,"this user is impartial and has no favorites")
2964-
2965-
// When member favorites workspace
2966-
err=memberClient.FavoriteWorkspace(ctx,wsb1.Workspace.ID)
2952+
// When user favorites workspace
2953+
err=client.FavoriteWorkspace(ctx,wsb.Workspace.ID)
29672954
require.NoError(t,err)
29682955

2969-
// Then it should be favored for them and show up first.
2970-
workspaces,err=memberClient.Workspaces(ctx, codersdk.WorkspaceFilter{})
2956+
// Then it should be favored for them.
2957+
workspaces,err=client.Workspaces(ctx, codersdk.WorkspaceFilter{})
29712958
require.NoError(t,err)
2972-
require.Len(t,workspaces.Workspaces,2)
2959+
require.Len(t,workspaces.Workspaces,1)
29732960
require.True(t,workspaces.Workspaces[0].Favorite,"favorites should come first")
2974-
require.False(t,workspaces.Workspaces[1].Favorite,"favorites should come first")
2975-
ws,err=memberClient.Workspace(ctx,wsb1.Workspace.ID)
2961+
ws,err=client.Workspace(ctx,wsb.Workspace.ID)
29762962
require.NoError(t,err)
29772963
require.True(t,ws.Favorite)
29782964

2979-
// But not for someone else
2980-
workspaces,err=client.Workspaces(ctx, codersdk.WorkspaceFilter{})
2981-
require.NoError(t,err)
2982-
require.Len(t,workspaces.Workspaces,3)
2983-
require.False(t,workspaces.Workspaces[0].Favorite,"this user is impartial and has no favorites")
2984-
require.False(t,workspaces.Workspaces[1].Favorite,"this user is impartial and has no favorites")
2985-
require.False(t,workspaces.Workspaces[2].Favorite,"this user is impartial and has no favorites")
2986-
ws,err=client.Workspace(ctx,wsb1.Workspace.ID)
2987-
require.NoError(t,err)
2988-
require.False(t,ws.Favorite)
2989-
29902965
// When member unfavorites workspace
2991-
err=memberClient.UnfavoriteWorkspace(ctx,wsb1.Workspace.ID)
2966+
err=client.UnfavoriteWorkspace(ctx,wsb.Workspace.ID)
29922967
require.NoError(t,err)
29932968

29942969
// Then it should no longer be favored
2995-
workspaces,err=memberClient.Workspaces(ctx, codersdk.WorkspaceFilter{})
2970+
workspaces,err=client.Workspaces(ctx, codersdk.WorkspaceFilter{})
29962971
require.NoError(t,err)
2997-
require.Len(t,workspaces.Workspaces,2)
2972+
require.Len(t,workspaces.Workspaces,1)
29982973
require.False(t,workspaces.Workspaces[0].Favorite,"no longer favorite")
2999-
require.False(t,workspaces.Workspaces[1].Favorite,"no longer favorite")
3000-
ws,err=memberClient.Workspace(ctx,wsb1.Workspace.ID)
2974+
ws,err=client.Workspace(ctx,wsb.Workspace.ID)
30012975
require.NoError(t,err)
30022976
require.False(t,ws.Favorite)
30032977

3004-
// Assert invariant: workspace should remain unfavorited for a different user
3005-
workspaces,err=client.Workspaces(ctx, codersdk.WorkspaceFilter{})
3006-
require.NoError(t,err)
3007-
require.Len(t,workspaces.Workspaces,3)
3008-
require.False(t,workspaces.Workspaces[0].Favorite,"this user is impartial and has no favorites")
3009-
require.False(t,workspaces.Workspaces[1].Favorite,"this user is impartial and has no favorites")
3010-
require.False(t,workspaces.Workspaces[2].Favorite,"this user is impartial and has no favorites")
3011-
ws,err=client.Workspace(ctx,wsb1.Workspace.ID)
3012-
require.NoError(t,err)
3013-
require.False(t,ws.Favorite)
2978+
// Users without write access to the workspace should not be able to perform the above.
2979+
err=memberClient.FavoriteWorkspace(ctx,wsb.Workspace.ID)
2980+
varsdkErr*codersdk.Error
2981+
require.ErrorAs(t,err,&sdkErr)
2982+
require.Equal(t,http.StatusNotFound,sdkErr.StatusCode())
2983+
err=memberClient.UnfavoriteWorkspace(ctx,wsb.Workspace.ID)
2984+
require.ErrorAs(t,err,&sdkErr)
2985+
require.Equal(t,http.StatusNotFound,sdkErr.StatusCode())
30142986
}

‎codersdk/workspaces.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ func (c *Client) FavoriteWorkspace(ctx context.Context, workspaceID uuid.UUID) e
479479
}
480480
deferres.Body.Close()
481481
ifres.StatusCode!=http.StatusNoContent {
482-
returnerr
482+
returnReadBodyAsError(res)
483483
}
484484
returnnil
485485
}
@@ -491,7 +491,7 @@ func (c *Client) UnfavoriteWorkspace(ctx context.Context, workspaceID uuid.UUID)
491491
}
492492
deferres.Body.Close()
493493
ifres.StatusCode!=http.StatusNoContent {
494-
returnerr
494+
returnReadBodyAsError(res)
495495
}
496496
returnnil
497497
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp