diff options
Diffstat (limited to 'api/preference_test.go')
-rw-r--r-- | api/preference_test.go | 46 |
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") + } +} |