summaryrefslogtreecommitdiffstats
path: root/api/preference_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'api/preference_test.go')
-rw-r--r--api/preference_test.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/api/preference_test.go b/api/preference_test.go
index 082f02527..3e41c884f 100644
--- a/api/preference_test.go
+++ b/api/preference_test.go
@@ -161,3 +161,49 @@ func TestGetPreference(t *testing.T) {
t.Fatal("preference updated incorrectly")
}
}
+
+func TestDeletePreferences(t *testing.T) {
+ th := Setup().InitBasic()
+ Client := th.BasicClient
+ user1 := th.BasicUser
+
+ var originalCount int
+ if result, err := Client.GetAllPreferences(); err != nil {
+ t.Fatal(err)
+ } else {
+ originalCount = len(result.Data.(model.Preferences))
+ }
+
+ // save 10 preferences
+ var preferences model.Preferences
+ for i := 0; i < 10; i++ {
+ preference := model.Preference{
+ UserId: user1.Id,
+ Category: model.PREFERENCE_CATEGORY_DIRECT_CHANNEL_SHOW,
+ Name: model.NewId(),
+ }
+ preferences = append(preferences, preference)
+ }
+
+ if _, err := Client.SetPreferences(&preferences); err != nil {
+ t.Fatal(err)
+ }
+
+ // delete 10 preferences
+ th.LoginBasic2()
+
+ if _, err := Client.DeletePreferences(&preferences); err == nil {
+ t.Fatal("shouldn't have been able to delete another user's preferences")
+ }
+
+ th.LoginBasic()
+ if _, err := Client.DeletePreferences(&preferences); err != nil {
+ t.Fatal(err)
+ }
+
+ if result, err := Client.GetAllPreferences(); err != nil {
+ t.Fatal(err)
+ } else if data := result.Data.(model.Preferences); len(data) != originalCount {
+ t.Fatal("should've deleted preferences")
+ }
+}