Skip to content

Commit 168d2d6

Browse files
authored
chore(coderd): add update user profile test for members (coder#13463)
1 parent cd32c42 commit 168d2d6

File tree

1 file changed

+39
-6
lines changed

1 file changed

+39
-6
lines changed

coderd/users_test.go

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -692,7 +692,7 @@ func TestUpdateUserProfile(t *testing.T) {
692692
require.Equal(t, http.StatusConflict, apiErr.StatusCode())
693693
})
694694

695-
t.Run("UpdateUser", func(t *testing.T) {
695+
t.Run("UpdateSelf", func(t *testing.T) {
696696
t.Parallel()
697697
auditor := audit.NewMock()
698698
client := coderdtest.New(t, &coderdtest.Options{Auditor: auditor})
@@ -704,15 +704,48 @@ func TestUpdateUserProfile(t *testing.T) {
704704
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
705705
defer cancel()
706706

707-
_, _ = client.User(ctx, codersdk.Me)
707+
me, err := client.User(ctx, codersdk.Me)
708+
require.NoError(t, err)
709+
708710
userProfile, err := client.UpdateUserProfile(ctx, codersdk.Me, codersdk.UpdateUserProfileRequest{
709-
Username: "newusername",
710-
Name: "Mr User",
711+
Username: me.Username + "1",
712+
Name: me.Name + "1",
711713
})
714+
numLogs++ // add an audit log for user update
715+
712716
require.NoError(t, err)
713-
require.Equal(t, userProfile.Username, "newusername")
714-
require.Equal(t, userProfile.Name, "Mr User")
717+
require.Equal(t, me.Username+"1", userProfile.Username)
718+
require.Equal(t, me.Name+"1", userProfile.Name)
719+
720+
require.Len(t, auditor.AuditLogs(), numLogs)
721+
require.Equal(t, database.AuditActionWrite, auditor.AuditLogs()[numLogs-1].Action)
722+
})
723+
724+
t.Run("UpdateSelfAsMember", func(t *testing.T) {
725+
t.Parallel()
726+
auditor := audit.NewMock()
727+
client := coderdtest.New(t, &coderdtest.Options{Auditor: auditor})
728+
numLogs := len(auditor.AuditLogs())
729+
730+
firstUser := coderdtest.CreateFirstUser(t, client)
731+
numLogs++ // add an audit log for login
732+
733+
memberClient, memberUser := coderdtest.CreateAnotherUser(t, client, firstUser.OrganizationID)
734+
numLogs++ // add an audit log for user creation
735+
736+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
737+
defer cancel()
738+
739+
userProfile, err := memberClient.UpdateUserProfile(ctx, codersdk.Me, codersdk.UpdateUserProfileRequest{
740+
Username: memberUser.Username + "1",
741+
Name: memberUser.Name + "1",
742+
})
715743
numLogs++ // add an audit log for user update
744+
numLogs++ // add an audit log for API key creation
745+
746+
require.NoError(t, err)
747+
require.Equal(t, memberUser.Username+"1", userProfile.Username)
748+
require.Equal(t, memberUser.Name+"1", userProfile.Name)
716749

717750
require.Len(t, auditor.AuditLogs(), numLogs)
718751
require.Equal(t, database.AuditActionWrite, auditor.AuditLogs()[numLogs-1].Action)

0 commit comments

Comments
 (0)