[MM-37064] - Onboarding flow is showing for existing users (#17977)

* [MM-37064] - Onboarding flow is showing for existing users

* add tests

* fix typo

* fix lint

* fix tests
Этот коммит содержится в:
Allan Guwatudde
2021-07-23 19:54:51 +03:00
коммит произвёл GitHub
родитель 5d4769318a
Коммит e252608068
5 изменённых файлов: 73 добавлений и 25 удалений

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

@@ -177,12 +177,17 @@ func TestPluginAPIGetUserPreferences(t *testing.T) {
preferences, err := api.GetPreferencesForUser(user1.Id)
require.Nil(t, err)
assert.Equal(t, 1, len(preferences))
assert.Equal(t, 2, len(preferences))
assert.Equal(t, user1.Id, preferences[0].UserId)
assert.Equal(t, model.PreferenceCategoryTutorialSteps, preferences[0].Category)
assert.Equal(t, user1.Id, preferences[0].Name)
assert.Equal(t, "0", preferences[0].Value)
assert.Equal(t, model.PreferenceRecommendedNextSteps, preferences[0].Category)
assert.Equal(t, "hide", preferences[0].Name)
assert.Equal(t, "false", preferences[0].Value)
assert.Equal(t, user1.Id, preferences[1].UserId)
assert.Equal(t, model.PreferenceCategoryTutorialSteps, preferences[1].Category)
assert.Equal(t, user1.Id, preferences[1].Name)
assert.Equal(t, "0", preferences[1].Value)
}
func TestPluginAPIDeleteUserPreferences(t *testing.T) {
@@ -200,7 +205,7 @@ func TestPluginAPIDeleteUserPreferences(t *testing.T) {
preferences, err := api.GetPreferencesForUser(user1.Id)
require.Nil(t, err)
assert.Equal(t, 1, len(preferences))
assert.Equal(t, 2, len(preferences))
err = api.DeletePreferencesForUser(user1.Id, preferences)
require.Nil(t, err)
@@ -227,14 +232,15 @@ func TestPluginAPIDeleteUserPreferences(t *testing.T) {
preferences, err = api.GetPreferencesForUser(user2.Id)
require.Nil(t, err)
assert.Equal(t, 2, len(preferences))
assert.Equal(t, 3, len(preferences))
err = api.DeletePreferencesForUser(user2.Id, []model.Preference{preference})
require.Nil(t, err)
preferences, err = api.GetPreferencesForUser(user2.Id)
require.Nil(t, err)
assert.Equal(t, 1, len(preferences))
assert.Equal(t, model.PreferenceCategoryTutorialSteps, preferences[0].Category)
assert.Equal(t, 2, len(preferences))
assert.Equal(t, model.PreferenceRecommendedNextSteps, preferences[0].Category)
assert.Equal(t, model.PreferenceCategoryTutorialSteps, preferences[1].Category)
}
func TestPluginAPIUpdateUserPreferences(t *testing.T) {
@@ -252,11 +258,17 @@ func TestPluginAPIUpdateUserPreferences(t *testing.T) {
preferences, err := api.GetPreferencesForUser(user1.Id)
require.Nil(t, err)
assert.Equal(t, 1, len(preferences))
assert.Equal(t, 2, len(preferences))
assert.Equal(t, user1.Id, preferences[0].UserId)
assert.Equal(t, model.PreferenceCategoryTutorialSteps, preferences[0].Category)
assert.Equal(t, user1.Id, preferences[0].Name)
assert.Equal(t, "0", preferences[0].Value)
assert.Equal(t, model.PreferenceRecommendedNextSteps, preferences[0].Category)
assert.Equal(t, "hide", preferences[0].Name)
assert.Equal(t, "false", preferences[0].Value)
assert.Equal(t, user1.Id, preferences[1].UserId)
assert.Equal(t, model.PreferenceCategoryTutorialSteps, preferences[1].Category)
assert.Equal(t, user1.Id, preferences[1].Name)
assert.Equal(t, "0", preferences[1].Value)
preference := model.Preference{
Name: user1.Id,
@@ -271,18 +283,11 @@ func TestPluginAPIUpdateUserPreferences(t *testing.T) {
preferences, err = api.GetPreferencesForUser(user1.Id)
require.Nil(t, err)
assert.Equal(t, 2, len(preferences))
expectedCategories := []string{model.PreferenceCategoryTutorialSteps, model.PreferenceCategoryTheme}
assert.Equal(t, 3, len(preferences))
expectedCategories := []string{model.PreferenceCategoryTutorialSteps, model.PreferenceCategoryTheme, model.PreferenceRecommendedNextSteps}
for _, pref := range preferences {
assert.Contains(t, expectedCategories, pref.Category)
assert.Equal(t, user1.Id, pref.UserId)
assert.Equal(t, user1.Id, pref.Name)
if pref.Category == model.PreferenceCategoryTutorialSteps {
assert.Equal(t, "0", pref.Value)
} else {
newTheme, _ := json.Marshal(map[string]string{"color": "#ff0000", "color2": "#faf"})
assert.Equal(t, string(newTheme), pref.Value)
}
}
}