MCPcopy Index your code
hub / github.com/coder/coder / TestNotifyCreatedUser

Function TestNotifyCreatedUser

coderd/users_test.go:1047–1155  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1045}
1046
1047func TestNotifyCreatedUser(t *testing.T) {
1048 t.Parallel()
1049
1050 t.Run("OwnerNotified", func(t *testing.T) {
1051 t.Parallel()
1052
1053 // given
1054 notifyEnq := &notificationstest.FakeEnqueuer{}
1055 adminClient := coderdtest.New(t, &coderdtest.Options{
1056 NotificationsEnqueuer: notifyEnq,
1057 })
1058 firstUser := coderdtest.CreateFirstUser(t, adminClient)
1059
1060 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
1061 defer cancel()
1062
1063 // when
1064 user, err := adminClient.CreateUserWithOrgs(ctx, codersdk.CreateUserRequestWithOrgs{
1065 OrganizationIDs: []uuid.UUID{firstUser.OrganizationID},
1066 Email: "another@user.org",
1067 Username: "someone-else",
1068 Password: "SomeSecurePassword!",
1069 })
1070 require.NoError(t, err)
1071
1072 // then
1073 sent := notifyEnq.Sent(notificationstest.WithTemplateID(notifications.TemplateUserAccountCreated))
1074 require.Len(t, sent, 1)
1075 require.Equal(t, notifications.TemplateUserAccountCreated, sent[0].TemplateID)
1076 require.Equal(t, firstUser.UserID, sent[0].UserID)
1077 require.Contains(t, sent[0].Targets, user.ID)
1078 require.Equal(t, user.Username, sent[0].Labels["created_account_name"])
1079
1080 require.IsType(t, map[string]any{}, sent[0].Data["user"])
1081 userData := sent[0].Data["user"].(map[string]any)
1082 require.Equal(t, user.ID, userData["id"])
1083 require.Equal(t, user.Name, userData["name"])
1084 require.Equal(t, user.Email, userData["email"])
1085 })
1086
1087 t.Run("UserAdminNotified", func(t *testing.T) {
1088 t.Parallel()
1089
1090 // given
1091 notifyEnq := &notificationstest.FakeEnqueuer{}
1092 adminClient := coderdtest.New(t, &coderdtest.Options{
1093 NotificationsEnqueuer: notifyEnq,
1094 })
1095 firstUser := coderdtest.CreateFirstUser(t, adminClient)
1096
1097 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
1098 defer cancel()
1099
1100 userAdmin, err := adminClient.CreateUserWithOrgs(ctx, codersdk.CreateUserRequestWithOrgs{
1101 OrganizationIDs: []uuid.UUID{firstUser.OrganizationID},
1102 Email: "user-admin@user.org",
1103 Username: "mr-user-admin",
1104 Password: "SomeSecurePassword!",

Callers

nothing calls this directly

Calls 12

SentMethod · 0.95
NewFunction · 0.92
CreateFirstUserFunction · 0.92
WithTemplateIDFunction · 0.92
RoleUserAdminFunction · 0.92
CreateUserWithOrgsMethod · 0.80
RunMethod · 0.65
UpdateUserRolesMethod · 0.65
LenMethod · 0.45
EqualMethod · 0.45
ContainsMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected