@@ -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