Made structural changes to server-side Preference code based on feedback

Этот коммит содержится в:
hmhealey
2015-10-09 13:47:11 -04:00
родитель 8a7aa7f66f
Коммит 5cecf1afcd
9 изменённых файлов: 220 добавлений и 355 удалений

Просмотреть файл

@@ -22,7 +22,7 @@ func TestSetPreferences(t *testing.T) {
Client.LoginByEmail(team.Name, user1.Email, "pwd")
// save 10 preferences
var preferences []*model.Preference
var preferences model.Preferences
for i := 0; i < 10; i++ {
preference := model.Preference{
UserId: user1.Id,
@@ -33,7 +33,7 @@ func TestSetPreferences(t *testing.T) {
preferences = append(preferences, &preference)
}
if _, err := Client.SetPreferences(preferences); err != nil {
if _, err := Client.SetPreferences(&preferences); err != nil {
t.Fatal(err)
}
@@ -42,7 +42,7 @@ func TestSetPreferences(t *testing.T) {
preference.Value = "1234garbage"
}
if _, err := Client.SetPreferences(preferences); err != nil {
if _, err := Client.SetPreferences(&preferences); err != nil {
t.Fatal(err)
}
@@ -53,7 +53,7 @@ func TestSetPreferences(t *testing.T) {
Client.LoginByEmail(team.Name, user2.Email, "pwd")
if _, err := Client.SetPreferences(preferences); err == nil {
if _, err := Client.SetPreferences(&preferences); err == nil {
t.Fatal("shouldn't have been able to update another user's preferences")
}
}
@@ -72,7 +72,7 @@ func TestGetPreferencesByName(t *testing.T) {
user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User)
store.Must(Srv.Store.User().VerifyEmail(user2.Id))
preferences1 := []*model.Preference{
preferences1 := model.Preferences{
{
UserId: user1.Id,
Category: model.PREFERENCE_CATEGORY_DIRECT_CHANNELS,
@@ -100,13 +100,13 @@ func TestGetPreferencesByName(t *testing.T) {
}
Client.LoginByEmail(team.Name, user1.Email, "pwd")
Client.Must(Client.SetPreferences(preferences1))
Client.Must(Client.SetPreferences(&preferences1))
Client.LoginByEmail(team.Name, user1.Email, "pwd")
if result, err := Client.GetPreferencesByName(model.PREFERENCE_CATEGORY_DIRECT_CHANNELS, model.PREFERENCE_NAME_SHOW); err != nil {
t.Fatal(err)
} else if data := result.Data.([]*model.Preference); len(data) != 2 {
} else if data := result.Data.(model.Preferences); len(data) != 2 {
t.Fatal("received the wrong number of preferences")
} else if !((*data[0] == *preferences1[0] && *data[1] == *preferences1[1]) || (*data[0] == *preferences1[1] && *data[1] == *preferences1[0])) {
t.Fatal("received incorrect preferences")
@@ -117,7 +117,7 @@ func TestGetPreferencesByName(t *testing.T) {
// note that user2 will start with a preference to show user1 in the sidebar by default
if result, err := Client.GetPreferencesByName(model.PREFERENCE_CATEGORY_DIRECT_CHANNELS, model.PREFERENCE_NAME_SHOW); err != nil {
t.Fatal(err)
} else if data := result.Data.([]*model.Preference); len(data) != 1 {
} else if data := result.Data.(model.Preferences); len(data) != 1 {
t.Fatal("received the wrong number of preferences")
}
}
@@ -134,32 +134,34 @@ func TestSetAndGetProperties(t *testing.T) {
Client.LoginByEmail(team.Name, user.Email, "pwd")
p := model.Preference{
UserId: user.Id,
Category: model.PREFERENCE_CATEGORY_DIRECT_CHANNELS,
Name: model.PREFERENCE_NAME_SHOW,
AltId: model.NewId(),
Value: model.NewId(),
preferences := model.Preferences{
{
UserId: user.Id,
Category: model.PREFERENCE_CATEGORY_DIRECT_CHANNELS,
Name: model.PREFERENCE_NAME_SHOW,
AltId: model.NewId(),
Value: model.NewId(),
},
}
Client.Must(Client.SetPreferences([]*model.Preference{&p}))
Client.Must(Client.SetPreferences(&preferences))
if result, err := Client.GetPreferencesByName(p.Category, p.Name); err != nil {
if result, err := Client.GetPreferencesByName(preferences[0].Category, preferences[0].Name); err != nil {
t.Fatal(err)
} else if data := result.Data.([]*model.Preference); len(data) != 1 {
} else if data := result.Data.(model.Preferences); len(data) != 1 {
t.Fatal("received too many preferences")
} else if *data[0] != p {
} else if *data[0] != *preferences[0] {
t.Fatal("preference saved incorrectly")
}
p.Value = model.NewId()
Client.Must(Client.SetPreferences([]*model.Preference{&p}))
preferences[0].Value = model.NewId()
Client.Must(Client.SetPreferences(&preferences))
if result, err := Client.GetPreferencesByName(p.Category, p.Name); err != nil {
if result, err := Client.GetPreferencesByName(preferences[0].Category, preferences[0].Name); err != nil {
t.Fatal(err)
} else if data := result.Data.([]*model.Preference); len(data) != 1 {
} else if data := result.Data.(model.Preferences); len(data) != 1 {
t.Fatal("received too many preferences")
} else if *data[0] != p {
} else if *data[0] != *preferences[0] {
t.Fatal("preference updated incorrectly")
}
}