Skip to content

Commit 86307e3

Browse files
committed
adds more tests
1 parent 1f08095 commit 86307e3

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

recipe/emailpassword/emailpassword_email_test.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -668,3 +668,42 @@ func TestSMTPOverrideEmailVerifyForEmailPasswordUser(t *testing.T) {
668668
assert.Equal(t, getContentCalled, true)
669669
assert.Equal(t, sendRawEmailCalled, true)
670670
}
671+
672+
func TestSendResetPassworEmailFunction(t *testing.T) {
673+
BeforeEach()
674+
unittesting.StartUpST("localhost", "8080")
675+
defer AfterEach()
676+
677+
resetLink := ""
678+
679+
testServer := supertokensInitForTest(t,
680+
session.Init(&sessmodels.TypeInput{
681+
GetTokenTransferMethod: func(req *http.Request, forCreateNewSession bool, userContext supertokens.UserContext) sessmodels.TokenTransferMethod {
682+
return sessmodels.CookieTransferMethod
683+
},
684+
}),
685+
Init(&epmodels.TypeInput{
686+
EmailDelivery: &emaildelivery.TypeInput{
687+
Override: func(originalImplementation emaildelivery.EmailDeliveryInterface) emaildelivery.EmailDeliveryInterface {
688+
*originalImplementation.SendEmail = func(input emaildelivery.EmailType, userContext supertokens.UserContext) error {
689+
resetLink = input.PasswordReset.PasswordResetLink
690+
return nil
691+
}
692+
return originalImplementation
693+
},
694+
},
695+
}),
696+
)
697+
defer testServer.Close()
698+
699+
user, err := SignUp("public", "[email protected]", "pass1234")
700+
assert.NoError(t, err)
701+
702+
resp, err := SendResetPasswordEmail("public", user.OK.User.ID)
703+
assert.NoError(t, err)
704+
assert.True(t, resp.OK != nil)
705+
706+
assert.Contains(t, resetLink, "rid=emailpassword")
707+
assert.Contains(t, resetLink, "tenantId=public")
708+
assert.Contains(t, resetLink, "token=")
709+
}

recipe/thirdpartyemailpassword/tpep_email_test.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -927,3 +927,42 @@ func TestSMTPOverrideEmailVerifyForThirdpartyUser(t *testing.T) {
927927
assert.Equal(t, getContentCalled, true)
928928
assert.Equal(t, sendRawEmailCalled, true)
929929
}
930+
931+
func TestSendResetPassworEmailFunction(t *testing.T) {
932+
BeforeEach()
933+
unittesting.StartUpST("localhost", "8080")
934+
defer AfterEach()
935+
936+
resetLink := ""
937+
938+
testServer := supertokensInitForTest(t,
939+
session.Init(&sessmodels.TypeInput{
940+
GetTokenTransferMethod: func(req *http.Request, forCreateNewSession bool, userContext supertokens.UserContext) sessmodels.TokenTransferMethod {
941+
return sessmodels.CookieTransferMethod
942+
},
943+
}),
944+
Init(&tpepmodels.TypeInput{
945+
EmailDelivery: &emaildelivery.TypeInput{
946+
Override: func(originalImplementation emaildelivery.EmailDeliveryInterface) emaildelivery.EmailDeliveryInterface {
947+
*originalImplementation.SendEmail = func(input emaildelivery.EmailType, userContext supertokens.UserContext) error {
948+
resetLink = input.PasswordReset.PasswordResetLink
949+
return nil
950+
}
951+
return originalImplementation
952+
},
953+
},
954+
}),
955+
)
956+
defer testServer.Close()
957+
958+
user, err := EmailPasswordSignUp("public", "[email protected]", "pass1234")
959+
assert.NoError(t, err)
960+
961+
resp, err := SendResetPasswordEmail("public", user.OK.User.ID)
962+
assert.NoError(t, err)
963+
assert.True(t, resp.OK != nil)
964+
965+
assert.Contains(t, resetLink, "rid=thirdpartyemailpassword")
966+
assert.Contains(t, resetLink, "tenantId=public")
967+
assert.Contains(t, resetLink, "token=")
968+
}

0 commit comments

Comments
 (0)