github.com/resonatecoop/id@v1.1.0-43/oauth/email_token_test.go (about) 1 package oauth_test 2 3 import ( 4 "context" 5 "errors" 6 7 "github.com/google/uuid" 8 "github.com/resonatecoop/user-api/model" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 var ( 13 // ErrEmailValidAPIKeyNotProvided ... 14 ErrEmailValidAPIKeyNotProvided = errors.New("you must provide a valid api-key before calling Send()") 15 ) 16 17 func (suite *OauthTestSuite) TestPasswordReset() { 18 var ( 19 err error 20 ) 21 22 _, err = suite.service.SendEmailToken(model.NewOauthEmail( 23 "test@user.com", 24 "Reset your password", 25 "password-reset", 26 ), "https://id.resonate.localhost/password-reset") 27 28 assert.Equal(suite.T(), ErrEmailValidAPIKeyNotProvided, err) 29 30 //assert.Equal(suite.T(), true, (err == nil || err == ErrEmailValidAPIKeyNotProvided)) 31 } 32 33 func (suite *OauthTestSuite) TestCreateToken() { 34 ctx := context.Background() 35 36 newEmail := &model.Email{ 37 Subject: "Greatly over exaggerated", 38 Recipient: "joan@waters.com", 39 Template: "Dear Madam, about your claim in the newspaper:", 40 } 41 42 emailToken, err := suite.service.CreateEmailToken(newEmail.Recipient) 43 44 // No error 45 assert.Nil(suite.T(), err) 46 47 // Reference is not nil 48 assert.NotEqual(suite.T(), emailToken.Reference.String(), uuid.Nil.String()) 49 50 myNewEmailToken := new(model.EmailToken) 51 52 err = suite.db.NewSelect(). 53 Model(myNewEmailToken). 54 Where("id = ?", emailToken.ID). 55 Scan(ctx) 56 57 // No error 58 assert.Nil(suite.T(), err) 59 60 assert.Equal(suite.T(), myNewEmailToken.ID.String(), emailToken.ID.String()) 61 62 }