From 6a2ef68444934944ce39b4bd1a6c0a571809bcf7 Mon Sep 17 00:00:00 2001 From: JoramWilander Date: Fri, 6 Nov 2015 12:55:05 -0500 Subject: [PATCH 1/3] Add tutorial pref for new users by default --- api/user.go | 5 +++++ model/preference.go | 1 + 2 files changed, 6 insertions(+) diff --git a/api/user.go b/api/user.go index 774ceddbf5..4a52cf88b0 100644 --- a/api/user.go +++ b/api/user.go @@ -213,6 +213,11 @@ func CreateUser(c *Context, team *model.Team, user *model.User) *model.User { } } + pref := model.Preference{UserId: ruser.Id, Category: model.PREFERENCE_CATEGORY_TUTORIAL_STEPS, Name: ruser.Id, Value: "0"} + if presult := <-Srv.Store.Preference().Save(&model.Preferences{pref}); presult.Err != nil { + l4g.Error("Encountered error saving tutorial preference, err=%v", presult.Err.Message) + } + ruser.Sanitize(map[string]bool{}) // This message goes to every channel, so the channelId is irrelevant diff --git a/model/preference.go b/model/preference.go index bcd0237f12..892ae82aae 100644 --- a/model/preference.go +++ b/model/preference.go @@ -11,6 +11,7 @@ import ( const ( PREFERENCE_CATEGORY_DIRECT_CHANNEL_SHOW = "direct_channel_show" + PREFERENCE_CATEGORY_TUTORIAL_STEPS = "tutorial_step" ) type Preference struct { From 25c23e2e2f2e5ce34bb72cab2820ca86c987f926 Mon Sep 17 00:00:00 2001 From: JoramWilander Date: Fri, 6 Nov 2015 13:18:41 -0500 Subject: [PATCH 2/3] Fix unit test --- api/preference_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/preference_test.go b/api/preference_test.go index eaa92fe471..4498ad7c34 100644 --- a/api/preference_test.go +++ b/api/preference_test.go @@ -48,7 +48,7 @@ func TestGetAllPreferences(t *testing.T) { if result, err := Client.GetAllPreferences(); err != nil { t.Fatal(err) - } else if data := result.Data.(model.Preferences); len(data) != 3 { + } else if data := result.Data.(model.Preferences); len(data) != 4 { 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])) { for i := 0; i < 3; i++ { @@ -63,7 +63,7 @@ func TestGetAllPreferences(t *testing.T) { // note that user2 will automatically have a preference set for them to show user1 for direct messages if result, err := Client.GetAllPreferences(); err != nil { t.Fatal(err) - } else if data := result.Data.(model.Preferences); len(data) != 1 { + } else if data := result.Data.(model.Preferences); len(data) != 2 { t.Fatal("received the wrong number of preferences") } } From 6a598470707d7433b6c02a0f9db18740b4b2a2fe Mon Sep 17 00:00:00 2001 From: JoramWilander Date: Fri, 6 Nov 2015 13:34:14 -0500 Subject: [PATCH 3/3] Simplified unit test --- api/preference_test.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/api/preference_test.go b/api/preference_test.go index 4498ad7c34..2f6204246c 100644 --- a/api/preference_test.go +++ b/api/preference_test.go @@ -50,12 +50,6 @@ func TestGetAllPreferences(t *testing.T) { t.Fatal(err) } else if data := result.Data.(model.Preferences); len(data) != 4 { 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])) { - for i := 0; i < 3; i++ { - if data[0] != preferences1[i] && data[1] != preferences1[i] && data[2] != preferences1[i] { - t.Fatal("got incorrect preferences") - } - } } Client.LoginByEmail(team.Name, user2.Email, "pwd")