chore(coderd): add update user profile test for members (#13463)

This commit is contained in:
Cian Johnston
2024-06-04 14:17:17 +01:00
committed by GitHub
parent cd32c42699
commit 168d2d6ba0

View File

@ -692,7 +692,7 @@ func TestUpdateUserProfile(t *testing.T) {
require.Equal(t, http.StatusConflict, apiErr.StatusCode())
})
t.Run("UpdateUser", func(t *testing.T) {
t.Run("UpdateSelf", func(t *testing.T) {
t.Parallel()
auditor := audit.NewMock()
client := coderdtest.New(t, &coderdtest.Options{Auditor: auditor})
@ -704,16 +704,49 @@ func TestUpdateUserProfile(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
defer cancel()
_, _ = client.User(ctx, codersdk.Me)
userProfile, err := client.UpdateUserProfile(ctx, codersdk.Me, codersdk.UpdateUserProfileRequest{
Username: "newusername",
Name: "Mr User",
})
me, err := client.User(ctx, codersdk.Me)
require.NoError(t, err)
require.Equal(t, userProfile.Username, "newusername")
require.Equal(t, userProfile.Name, "Mr User")
userProfile, err := client.UpdateUserProfile(ctx, codersdk.Me, codersdk.UpdateUserProfileRequest{
Username: me.Username + "1",
Name: me.Name + "1",
})
numLogs++ // add an audit log for user update
require.NoError(t, err)
require.Equal(t, me.Username+"1", userProfile.Username)
require.Equal(t, me.Name+"1", userProfile.Name)
require.Len(t, auditor.AuditLogs(), numLogs)
require.Equal(t, database.AuditActionWrite, auditor.AuditLogs()[numLogs-1].Action)
})
t.Run("UpdateSelfAsMember", func(t *testing.T) {
t.Parallel()
auditor := audit.NewMock()
client := coderdtest.New(t, &coderdtest.Options{Auditor: auditor})
numLogs := len(auditor.AuditLogs())
firstUser := coderdtest.CreateFirstUser(t, client)
numLogs++ // add an audit log for login
memberClient, memberUser := coderdtest.CreateAnotherUser(t, client, firstUser.OrganizationID)
numLogs++ // add an audit log for user creation
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
defer cancel()
userProfile, err := memberClient.UpdateUserProfile(ctx, codersdk.Me, codersdk.UpdateUserProfileRequest{
Username: memberUser.Username + "1",
Name: memberUser.Name + "1",
})
numLogs++ // add an audit log for user update
numLogs++ // add an audit log for API key creation
require.NoError(t, err)
require.Equal(t, memberUser.Username+"1", userProfile.Username)
require.Equal(t, memberUser.Name+"1", userProfile.Name)
require.Len(t, auditor.AuditLogs(), numLogs)
require.Equal(t, database.AuditActionWrite, auditor.AuditLogs()[numLogs-1].Action)
})