From f94c09d54e172aa7d745bc90086119a44d040d59 Mon Sep 17 00:00:00 2001 From: Elias Nahum Date: Fri, 24 Apr 2020 14:07:08 -0400 Subject: [PATCH] MM-24451 Set prev app version to current on logout/reset cache (#4225) * MM-24451 Set prev app version to current on logout/reset cache * Fix unit tests for master --- app/init/global_event_handler.js | 2 +- app/store/utils.js | 6 +++++- app/store/utils.test.js | 10 ++++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/init/global_event_handler.js b/app/init/global_event_handler.js index 9bc18c0f7..429ed41a5 100644 --- a/app/init/global_event_handler.js +++ b/app/init/global_event_handler.js @@ -279,7 +279,7 @@ class GlobalEventHandler { app: { build: DeviceInfo.getBuildNumber(), version: DeviceInfo.getVersion(), - previousVersion: state.app?.previousVersion || DeviceInfo.getVersion(), + previousVersion: DeviceInfo.getVersion(), }, entities: { ...initialState.entities, diff --git a/app/store/utils.js b/app/store/utils.js index b6e08f14c..231444568 100644 --- a/app/store/utils.js +++ b/app/store/utils.js @@ -2,6 +2,7 @@ // See LICENSE.txt for license information. import merge from 'deepmerge'; +import DeviceInfo from 'react-native-device-info'; function transformFromSet(incoming) { const state = {...incoming}; @@ -80,7 +81,10 @@ export function getStateForReset(initialState, currentState) { const preferences = currentState.entities.preferences; const resetState = merge(initialState, { - app, + app: { + ...app, + previousVersion: DeviceInfo.getVersion(), + }, entities: { general: currentState.entities.general, users: { diff --git a/app/store/utils.test.js b/app/store/utils.test.js index 4dd00a630..3b3bef167 100644 --- a/app/store/utils.test.js +++ b/app/store/utils.test.js @@ -1,6 +1,8 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. +import DeviceInfo from 'react-native-device-info'; + import initialState from '@store/initial_state'; import {getStateForReset} from '@store/utils'; @@ -21,8 +23,8 @@ describe('getStateForReset', () => { const currentTeamId = 'current-team-id'; const currentState = { app: { - build: 'build', - version: 'version', + build: DeviceInfo.getBuildNumber(), + version: DeviceInfo.getVersion(), previousVersion: 'previousVersion', }, entities: { @@ -86,9 +88,9 @@ describe('getStateForReset', () => { expect(themeKeys.length).toEqual(2); }); - it('should keep app', () => { + it('should set previous version as current', () => { const resetState = getStateForReset(initialState, currentState); const {app} = resetState; - expect(app).toStrictEqual(currentState.app); + expect(app.previousVersion).toStrictEqual(currentState.app.version); }); });