(t *testing.T)
| 1045 | } |
| 1046 | |
| 1047 | func TestNotifyCreatedUser(t *testing.T) { |
| 1048 | t.Parallel() |
| 1049 | |
| 1050 | t.Run("OwnerNotified", func(t *testing.T) { |
| 1051 | t.Parallel() |
| 1052 | |
| 1053 | // given |
| 1054 | notifyEnq := ¬ificationstest.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 := ¬ificationstest.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!", |
nothing calls this directly
no test coverage detected