summaryrefslogtreecommitdiffstats
path: root/app/user_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/user_test.go')
-rw-r--r--app/user_test.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/app/user_test.go b/app/user_test.go
index 92ff4d62a..a007f93d5 100644
--- a/app/user_test.go
+++ b/app/user_test.go
@@ -524,3 +524,43 @@ func TestPermanentDeleteUser(t *testing.T) {
t.Fatal("GetFileInfo after DeleteUser is nil")
}
}
+
+func TestRecordUserServiceTermsAction(t *testing.T) {
+ th := Setup().InitBasic()
+ defer th.TearDown()
+
+ user := &model.User{
+ Email: strings.ToLower(model.NewId()) + "success+test@example.com",
+ Nickname: "Luke Skywalker", // trying to bring balance to the "Force", one test user at a time
+ Username: "luke" + model.NewId(),
+ Password: "passwd1",
+ AuthService: "",
+ }
+ user, err := th.App.CreateUser(user)
+ if err != nil {
+ t.Fatalf("failed to create user: %v", err)
+ }
+
+ defer th.App.PermanentDeleteUser(user)
+
+ serviceTerms, err := th.App.CreateServiceTerms("text", user.Id)
+ if err != nil {
+ t.Fatalf("failed to create service terms: %v", err)
+ }
+
+ err = th.App.RecordUserServiceTermsAction(user.Id, serviceTerms.Id, true)
+ if err != nil {
+ t.Fatalf("failed to record user action: %v", err)
+ }
+
+ nuser, err := th.App.GetUser(user.Id)
+ assert.Equal(t, serviceTerms.Id, nuser.AcceptedServiceTermsId)
+
+ err = th.App.RecordUserServiceTermsAction(user.Id, serviceTerms.Id, false)
+ if err != nil {
+ t.Fatalf("failed to record user action: %v", err)
+ }
+
+ nuser, err = th.App.GetUser(user.Id)
+ assert.Empty(t, nuser.AcceptedServiceTermsId)
+}