github.com/clerkinc/clerk-sdk-go@v1.49.1/tests/integration/email_addresses_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package integration 5 6 import ( 7 "testing" 8 9 "github.com/brianvoe/gofakeit/v6" 10 "github.com/clerkinc/clerk-sdk-go/clerk" 11 "github.com/stretchr/testify/assert" 12 ) 13 14 func TestEmailAddresses(t *testing.T) { 15 client := createClient() 16 17 users, _ := client.Users().ListAll(clerk.ListAllUsersParams{}) 18 if users == nil || len(users) == 0 { 19 return 20 } 21 22 user := users[0] 23 24 // create 25 26 fakeEmailAddress := gofakeit.Email() 27 28 verified := false 29 primary := false 30 31 createEmailAddressParams := clerk.CreateEmailAddressParams{ 32 UserID: user.ID, 33 EmailAddress: fakeEmailAddress, 34 Verified: &verified, 35 Primary: &primary, 36 } 37 38 emailAddress, err := client.EmailAddresses().Create(createEmailAddressParams) 39 assert.Nil(t, err) 40 41 assert.Equal(t, "email_address", emailAddress.Object) 42 assert.Equal(t, fakeEmailAddress, emailAddress.EmailAddress) 43 44 // read 45 46 emailAddress, err = client.EmailAddresses().Read(emailAddress.ID) 47 assert.Nil(t, err) 48 49 assert.Equal(t, "email_address", emailAddress.Object) 50 assert.Equal(t, fakeEmailAddress, emailAddress.EmailAddress) 51 52 // update 53 54 verified = true 55 primary = true 56 57 updateEmailAddressParams := clerk.UpdateEmailAddressParams{ 58 Verified: &verified, 59 Primary: &primary, 60 } 61 62 emailAddress, err = client.EmailAddresses().Update(emailAddress.ID, updateEmailAddressParams) 63 assert.Nil(t, err) 64 65 assert.Equal(t, "email_address", emailAddress.Object) 66 assert.Equal(t, fakeEmailAddress, emailAddress.EmailAddress) 67 68 // delete 69 70 deletedResponse, err := client.EmailAddresses().Delete(emailAddress.ID) 71 assert.Nil(t, err) 72 73 assert.Equal(t, emailAddress.ID, deletedResponse.ID) 74 assert.True(t, deletedResponse.Deleted) 75 }