From f5a068e3827e94be328ea5a9621539a900f775ef Mon Sep 17 00:00:00 2001 From: Harshil Sharma <18575143+harshilsharma63@users.noreply.github.com> Date: Fri, 7 Oct 2022 19:58:47 +0530 Subject: [PATCH] Added duplicate data test for user preference (#3968) * Added handling of duplicate key conflicts * Added a test * Add value checks and fix username for the test Co-authored-by: Miguel de la Cruz --- .../fixtures/test27MigrateUserPropsToPreferences.sql | 7 ++++++- .../store/sqlstore/migrationstests/migration_27_test.go | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/server/services/store/sqlstore/migrationstests/fixtures/test27MigrateUserPropsToPreferences.sql b/server/services/store/sqlstore/migrationstests/fixtures/test27MigrateUserPropsToPreferences.sql index 3b1f4f2a7..c317d752c 100644 --- a/server/services/store/sqlstore/migrationstests/fixtures/test27MigrateUserPropsToPreferences.sql +++ b/server/services/store/sqlstore/migrationstests/fixtures/test27MigrateUserPropsToPreferences.sql @@ -1,4 +1,9 @@ INSERT INTO focalboard_users (id, username, props) VALUES -('user-id', 'johndoe', '{"focalboard_welcomePageViewed": true, "hiddenBoardIDs": ["board1", "board2"], "focalboard_tourCategory": "onboarding", "focalboard_onboardingTourStep": 1, "focalboard_onboardingTourStarted": true, "focalboard_version72MessageCanceled": true, "focalboard_lastWelcomeVersion": 7}'); +('user-id', 'johndoe', '{"focalboard_welcomePageViewed": true, "hiddenBoardIDs": ["board1", "board2"], "focalboard_tourCategory": "onboarding", "focalboard_onboardingTourStep": 1, "focalboard_onboardingTourStarted": false, "focalboard_version72MessageCanceled": true, "focalboard_lastWelcomeVersion": 7}'); + +INSERT INTO focalboard_preferences +(UserId, Category, Name, Value) +VALUES +('user-id', 'focalboard', 'onboardingTourStarted', true); diff --git a/server/services/store/sqlstore/migrationstests/migration_27_test.go b/server/services/store/sqlstore/migrationstests/migration_27_test.go index b51f8d882..0047d8c59 100644 --- a/server/services/store/sqlstore/migrationstests/migration_27_test.go +++ b/server/services/store/sqlstore/migrationstests/migration_27_test.go @@ -40,7 +40,11 @@ func Test27MigrateUserPropsToPreferences(t *testing.T) { require.Contains(t, userProps, "focalboard_onboardingTourStep") require.Equal(t, float64(1), userProps["focalboard_onboardingTourStep"]) require.Contains(t, userProps, "focalboard_onboardingTourStarted") - require.True(t, userProps["focalboard_onboardingTourStarted"].(bool)) + // initially, onboardingTourStarted will be false on the user, + // but already inserted in the preferences table as true. The + // migration should not overwrite the already existing value, + // so after migration #27, this value should be true + require.False(t, userProps["focalboard_onboardingTourStarted"].(bool)) require.Contains(t, userProps, "focalboard_version72MessageCanceled") require.True(t, userProps["focalboard_version72MessageCanceled"].(bool)) require.Contains(t, userProps, "focalboard_lastWelcomeVersion")