Skip to content

Commit ca888c6

Browse files
committed
fix: fixes for tests
1 parent fbe5726 commit ca888c6

File tree

3 files changed

+70
-19
lines changed

3 files changed

+70
-19
lines changed

recipe/thirdpartypasswordless/recipeFunctions_test.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323

2424
"github.com/stretchr/testify/assert"
2525
"github.com/supertokens/supertokens-golang/recipe/emailverification"
26+
"github.com/supertokens/supertokens-golang/recipe/emailverification/evmodels"
2627
"github.com/supertokens/supertokens-golang/recipe/passwordless/plessmodels"
2728
"github.com/supertokens/supertokens-golang/recipe/session"
2829
"github.com/supertokens/supertokens-golang/recipe/thirdpartypasswordless/tplmodels"
@@ -41,6 +42,9 @@ func TestWithThirdPartyPasswordlessForThirdPartyUserThatIsEmailVerifiedReturnsTh
4142
WebsiteDomain: "supertokens.io",
4243
},
4344
RecipeList: []supertokens.Recipe{
45+
emailverification.Init(evmodels.TypeInput{
46+
Mode: evmodels.ModeOptional,
47+
}),
4448
session.Init(nil),
4549
Init(tplmodels.TypeInput{
4650
FlowType: "USER_INPUT_CODE_AND_MAGIC_LINK",
@@ -97,7 +101,7 @@ func TestWithThirdPartyPasswordlessForThirdPartyUserThatIsEmailVerifiedReturnsTh
97101
assert.False(t, isVerfied1)
98102
}
99103

100-
func TestWithThirdPartyPasswordlessForPasswordlessUserThatIsEmailVerifiedReturnsTrueForBothEmailAndPhone(t *testing.T) {
104+
func TestWithThirdPartyPasswordlessForPasswordlessUserThatIsEmailVerifiedReturnsTrueForPhoneAndFalseForEmail(t *testing.T) {
101105
configValue := supertokens.TypeInput{
102106
Supertokens: &supertokens.ConnectionInfo{
103107
ConnectionURI: "http://localhost:8080",
@@ -108,6 +112,11 @@ func TestWithThirdPartyPasswordlessForPasswordlessUserThatIsEmailVerifiedReturns
108112
WebsiteDomain: "supertokens.io",
109113
},
110114
RecipeList: []supertokens.Recipe{
115+
emailverification.Init(evmodels.TypeInput{
116+
Mode: evmodels.ModeOptional,
117+
CreateAndSendCustomEmail: func(user evmodels.User, emailVerificationURLWithToken string, userContext supertokens.UserContext) {
118+
},
119+
}),
111120
session.Init(nil),
112121
Init(tplmodels.TypeInput{
113122
FlowType: "USER_INPUT_CODE_AND_MAGIC_LINK",
@@ -149,12 +158,12 @@ func TestWithThirdPartyPasswordlessForPasswordlessUserThatIsEmailVerifiedReturns
149158

150159
isVerified, err := emailverification.IsEmailVerified(response.User.ID, nil)
151160
assert.NoError(t, err)
152-
assert.True(t, isVerified)
161+
assert.False(t, isVerified) // this is a change in behavior
153162

154163
emailVerificationResp, err := emailverification.CreateEmailVerificationToken(response.User.ID, nil)
155164
assert.NoError(t, err)
156-
assert.NotNil(t, emailVerificationResp.EmailAlreadyVerifiedError)
157-
assert.Nil(t, emailVerificationResp.OK)
165+
assert.Nil(t, emailVerificationResp.EmailAlreadyVerifiedError)
166+
assert.NotNil(t, emailVerificationResp.OK)
158167

159168
response, err = PasswordlessSignInUpByPhoneNumber("+123456789012")
160169
assert.NoError(t, err)

recipe/thirdpartypasswordless/signinupFeature_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626

2727
"github.com/stretchr/testify/assert"
2828
"github.com/supertokens/supertokens-golang/recipe/emailverification"
29+
"github.com/supertokens/supertokens-golang/recipe/emailverification/evmodels"
2930
"github.com/supertokens/supertokens-golang/recipe/passwordless/plessmodels"
3031
"github.com/supertokens/supertokens-golang/recipe/session"
3132
"github.com/supertokens/supertokens-golang/recipe/session/sessmodels"
@@ -399,6 +400,9 @@ func TestWithThirdPartyPasswordlessWithMinimumConfigForThirdPartyModuleEmailUnve
399400
WebsiteDomain: "supertokens.io",
400401
},
401402
RecipeList: []supertokens.Recipe{
403+
emailverification.Init(evmodels.TypeInput{
404+
Mode: evmodels.ModeOptional,
405+
}),
402406
session.Init(&sessmodels.TypeInput{
403407
AntiCsrf: &customAntiCsrfValue,
404408
}),

recipe/thirdpartypasswordless/tpl_email_test.go

Lines changed: 53 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import (
2626
"github.com/stretchr/testify/assert"
2727
"github.com/supertokens/supertokens-golang/ingredients/emaildelivery"
2828
"github.com/supertokens/supertokens-golang/recipe/emailverification"
29+
"github.com/supertokens/supertokens-golang/recipe/emailverification/emaildelivery/smtpService"
30+
"github.com/supertokens/supertokens-golang/recipe/emailverification/evmodels"
2931
"github.com/supertokens/supertokens-golang/recipe/passwordless"
3032
"github.com/supertokens/supertokens-golang/recipe/passwordless/plessmodels"
3133
"github.com/supertokens/supertokens-golang/recipe/session"
@@ -378,7 +380,7 @@ func TestDefaultBackwardCompatibilityEmailVerifyForPasswordlessUser(t *testing.T
378380
Enabled: true,
379381
},
380382
}
381-
testServer := supertokensInitForTest(t, session.Init(nil), Init(tplConfig))
383+
testServer := supertokensInitForTest(t, emailverification.Init(evmodels.TypeInput{Mode: evmodels.ModeOptional}), session.Init(nil), Init(tplConfig))
382384
defer testServer.Close()
383385

384386
querier, err := supertokens.GetNewQuerierInstanceOrThrowError("")
@@ -436,7 +438,7 @@ func TestDefaultBackwardCompatibilityEmailVerifyForThirdpartyUser(t *testing.T)
436438
customProviderForEmailVerification,
437439
},
438440
}
439-
testServer := supertokensInitForTest(t, session.Init(nil), Init(tplConfig))
441+
testServer := supertokensInitForTest(t, emailverification.Init(evmodels.TypeInput{Mode: evmodels.ModeOptional}), session.Init(nil), Init(tplConfig))
440442
defer testServer.Close()
441443

442444
signinupPostData := PostDataForCustomProvider{
@@ -607,6 +609,9 @@ func TestCustomOverrideEmailVerifyForPasswordlessUser(t *testing.T) {
607609
ContactMethodEmail: plessmodels.ContactMethodEmailConfig{
608610
Enabled: true,
609611
},
612+
}
613+
testServer := supertokensInitForTest(t, emailverification.Init(evmodels.TypeInput{
614+
Mode: evmodels.ModeOptional,
610615
EmailDelivery: &emaildelivery.TypeInput{
611616
Override: func(originalImplementation emaildelivery.EmailDeliveryInterface) emaildelivery.EmailDeliveryInterface {
612617
sendEmail := *originalImplementation.SendEmail
@@ -622,8 +627,7 @@ func TestCustomOverrideEmailVerifyForPasswordlessUser(t *testing.T) {
622627
return originalImplementation
623628
},
624629
},
625-
}
626-
testServer := supertokensInitForTest(t, session.Init(nil), Init(tplConfig))
630+
}), session.Init(nil), Init(tplConfig))
627631
defer testServer.Close()
628632

629633
querier, err := supertokens.GetNewQuerierInstanceOrThrowError("")
@@ -687,6 +691,11 @@ func TestCustomOverrideEmailVerifyForThirdpartyUser(t *testing.T) {
687691
ContactMethodEmail: plessmodels.ContactMethodEmailConfig{
688692
Enabled: true,
689693
},
694+
695+
Providers: []tpmodels.TypeProvider{customProviderForEmailVerification},
696+
}
697+
testServer := supertokensInitForTest(t, emailverification.Init(evmodels.TypeInput{
698+
Mode: evmodels.ModeOptional,
690699
EmailDelivery: &emaildelivery.TypeInput{
691700
Override: func(originalImplementation emaildelivery.EmailDeliveryInterface) emaildelivery.EmailDeliveryInterface {
692701
sendEmail := *originalImplementation.SendEmail
@@ -702,9 +711,7 @@ func TestCustomOverrideEmailVerifyForThirdpartyUser(t *testing.T) {
702711
return originalImplementation
703712
},
704713
},
705-
Providers: []tpmodels.TypeProvider{customProviderForEmailVerification},
706-
}
707-
testServer := supertokensInitForTest(t, session.Init(nil), Init(tplConfig))
714+
}), session.Init(nil), Init(tplConfig))
708715
defer testServer.Close()
709716

710717
signinupPostData := PostDataForCustomProvider{
@@ -746,7 +753,7 @@ func TestSMTPOverrideEmailVerifyForPasswordlessUser(t *testing.T) {
746753
emailVerifyLink := ""
747754
var userInputCode *string
748755

749-
smtpService := MakeSMTPService(emaildelivery.SMTPServiceConfig{
756+
evSmtpService := smtpService.MakeSMTPService(emaildelivery.SMTPServiceConfig{
750757
Settings: emaildelivery.SMTPSettings{
751758
Host: "",
752759
From: emaildelivery.SMTPFrom{
@@ -762,7 +769,31 @@ func TestSMTPOverrideEmailVerifyForPasswordlessUser(t *testing.T) {
762769
email = input.EmailVerification.User.Email
763770
emailVerifyLink = input.EmailVerification.EmailVerifyLink
764771
getContentCalled = true
765-
} else if input.PasswordlessLogin != nil {
772+
}
773+
return emaildelivery.EmailContent{}, nil
774+
}
775+
776+
(*originalImplementation.SendRawEmail) = func(input emaildelivery.EmailContent, userContext supertokens.UserContext) error {
777+
sendRawEmailCalled = true
778+
return nil
779+
}
780+
781+
return originalImplementation
782+
},
783+
})
784+
tplSmtpService := MakeSMTPService(emaildelivery.SMTPServiceConfig{
785+
Settings: emaildelivery.SMTPSettings{
786+
Host: "",
787+
From: emaildelivery.SMTPFrom{
788+
Name: "Test User",
789+
Email: "",
790+
},
791+
Port: 123,
792+
Password: "",
793+
},
794+
Override: func(originalImplementation emaildelivery.SMTPInterface) emaildelivery.SMTPInterface {
795+
(*originalImplementation.GetContent) = func(input emaildelivery.EmailType, userContext supertokens.UserContext) (emaildelivery.EmailContent, error) {
796+
if input.PasswordlessLogin != nil {
766797
userInputCode = input.PasswordlessLogin.UserInputCode
767798
}
768799
return emaildelivery.EmailContent{}, nil
@@ -782,10 +813,15 @@ func TestSMTPOverrideEmailVerifyForPasswordlessUser(t *testing.T) {
782813
Enabled: true,
783814
},
784815
EmailDelivery: &emaildelivery.TypeInput{
785-
Service: smtpService,
816+
Service: tplSmtpService,
786817
},
787818
}
788-
testServer := supertokensInitForTest(t, session.Init(nil), Init(tplConfig))
819+
testServer := supertokensInitForTest(t, emailverification.Init(evmodels.TypeInput{
820+
Mode: evmodels.ModeOptional,
821+
EmailDelivery: &emaildelivery.TypeInput{
822+
Service: evSmtpService,
823+
},
824+
}), session.Init(nil), Init(tplConfig))
789825
defer testServer.Close()
790826

791827
querier, err := supertokens.GetNewQuerierInstanceOrThrowError("")
@@ -848,7 +884,7 @@ func TestSMTPOverrideEmailVerifyForThirdpartyUser(t *testing.T) {
848884
email := ""
849885
emailVerifyLink := ""
850886

851-
smtpService := MakeSMTPService(emaildelivery.SMTPServiceConfig{
887+
smtpService := smtpService.MakeSMTPService(emaildelivery.SMTPServiceConfig{
852888
Settings: emaildelivery.SMTPSettings{
853889
Host: "",
854890
From: emaildelivery.SMTPFrom{
@@ -881,12 +917,14 @@ func TestSMTPOverrideEmailVerifyForThirdpartyUser(t *testing.T) {
881917
ContactMethodEmail: plessmodels.ContactMethodEmailConfig{
882918
Enabled: true,
883919
},
920+
Providers: []tpmodels.TypeProvider{customProviderForEmailVerification},
921+
}
922+
testServer := supertokensInitForTest(t, emailverification.Init(evmodels.TypeInput{
923+
Mode: evmodels.ModeOptional,
884924
EmailDelivery: &emaildelivery.TypeInput{
885925
Service: smtpService,
886926
},
887-
Providers: []tpmodels.TypeProvider{customProviderForEmailVerification},
888-
}
889-
testServer := supertokensInitForTest(t, session.Init(nil), Init(tplConfig))
927+
}), session.Init(nil), Init(tplConfig))
890928
defer testServer.Close()
891929

892930
signinupPostData := PostDataForCustomProvider{

0 commit comments

Comments
 (0)