MCPcopy Create free account
hub / github.com/authorizerdev/authorizer / TestUpdateUser

Function TestUpdateUser

internal/integration_tests/update_user_test.go:17–90  ·  view source on GitHub ↗

TestUpdateUser tests the update user functionality by the admin

(t *testing.T)

Source from the content-addressed store, hash-verified

15
16// TestUpdateUser tests the update user functionality by the admin
17func TestUpdateUser(t *testing.T) {
18 cfg := getTestConfig()
19 ts := initTestSetup(t, cfg)
20 req, ctx := createContext(ts)
21
22 // Create a test user
23 email := "update_user_test_" + uuid.New().String() + "@authorizer.dev"
24 password := "Password@123"
25 // Signup the user
26 signupReq := &model.SignUpRequest{
27 Email: &email,
28 Password: password,
29 ConfirmPassword: password,
30 }
31 signupRes, err := ts.GraphQLProvider.SignUp(ctx, signupReq)
32 require.NoError(t, err)
33 require.NotNil(t, signupRes)
34 require.NotNil(t, signupRes.User)
35
36 userFirstName := "UpdatedFirstName"
37 updateReq := &model.UpdateUserRequest{
38 ID: signupRes.User.ID,
39 GivenName: &userFirstName,
40 }
41 t.Run("should fail without admin cookie", func(t *testing.T) {
42 updateRes, err := ts.GraphQLProvider.UpdateUser(ctx, updateReq)
43 require.Error(t, err)
44 require.Nil(t, updateRes)
45 })
46
47 t.Run("should update user", func(t *testing.T) {
48 h, err := crypto.EncryptPassword(cfg.AdminSecret)
49 assert.Nil(t, err)
50
51 req.Header.Set("Cookie", fmt.Sprintf("%s=%s", constants.AdminCookieName, h))
52 updateRes, err := ts.GraphQLProvider.UpdateUser(ctx, updateReq)
53 require.NoError(t, err)
54 require.NotNil(t, updateRes)
55 require.Equal(t, updateRes.ID, signupRes.User.ID)
56 require.Equal(t, userFirstName, *updateRes.GivenName)
57 })
58
59 t.Run("should reject duplicate phone number", func(t *testing.T) {
60 h, err := crypto.EncryptPassword(cfg.AdminSecret)
61 require.NoError(t, err)
62 req.Header.Set("Cookie", fmt.Sprintf("%s=%s", constants.AdminCookieName, h))
63
64 // Create a second user
65 email2 := "update_user_phone_" + uuid.New().String() + "@authorizer.dev"
66 signupRes2, err := ts.GraphQLProvider.SignUp(ctx, &model.SignUpRequest{
67 Email: &email2,
68 Password: password,
69 ConfirmPassword: password,
70 })
71 require.NoError(t, err)
72 require.NotNil(t, signupRes2)
73
74 // Assign a phone number to user A

Callers

nothing calls this directly

Calls 11

EncryptPasswordFunction · 0.92
NewStringRefFunction · 0.92
getTestConfigFunction · 0.85
initTestSetupFunction · 0.85
createContextFunction · 0.85
ErrorMethod · 0.80
SignUpMethod · 0.65
UpdateUserMethod · 0.65
SetMethod · 0.65
StringMethod · 0.45
RunMethod · 0.45

Tested by

no test coverage detected