Commit dc70ab42 authored by Miguel de la Cruz's avatar Miguel de la Cruz Committed by Miguel de la Cruz

[MM-15126] Adding terms of service to the login response (#10625)

parent a714ccf5
......@@ -1192,6 +1192,17 @@ func login(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAuditWithUserId(user.Id, "success")
userTermsOfService, err := c.App.GetUserTermsOfService(user.Id)
if err != nil && err.StatusCode != http.StatusNotFound {
c.Err = err
return
}
if userTermsOfService != nil {
user.TermsOfServiceId = userTermsOfService.TermsOfServiceId
user.TermsOfServiceCreateAt = userTermsOfService.CreateAt
}
c.App.Session = *session
user.Sanitize(map[string]bool{})
......
......@@ -2637,6 +2637,26 @@ func TestLogin(t *testing.T) {
_, resp = th.Client.Login(botUser.Email, "password")
CheckErrorMessage(t, resp, "api.user.login.bot_login_forbidden.app_error")
})
t.Run("login with terms_of_service set", func(t *testing.T) {
termsOfService, err := th.App.CreateTermsOfService("terms of service", th.BasicUser.Id)
if err != nil {
t.Fatal(err)
}
success, resp := th.Client.RegisterTermsOfServiceAction(th.BasicUser.Id, termsOfService.Id, true)
CheckNoError(t, resp)
assert.True(t, *success)
userTermsOfService, resp := th.Client.GetUserTermsOfService(th.BasicUser.Id, "")
CheckNoError(t, resp)
user, resp := th.Client.Login(th.BasicUser.Email, th.BasicUser.Password)
CheckNoError(t, resp)
assert.Equal(t, user.Id, th.BasicUser.Id)
assert.Equal(t, user.TermsOfServiceId, userTermsOfService.TermsOfServiceId)
assert.Equal(t, user.TermsOfServiceCreateAt, userTermsOfService.CreateAt)
})
}
func TestCBALogin(t *testing.T) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment