1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-23 03:36:18 +02:00
metamask-extension/test/unit/migrations/035-test.js
Mark Stacey bb87a0b92c
Add migration to remove seedWords state (#6937)
The `seedWords` state was removed from the PreferencesController
recently in #6920. That state hadn't been used in some time, and there
was a long period during which `seedWords` was periodically scrubbed
from the state, so it's highly unlikely that it still exists in state
for most users. It's hard to guarantee that it _doesn't_ though,
especially if a user hasn't opened MetaMask in a few months.
2019-08-02 10:28:25 -02:30

97 lines
2.2 KiB
JavaScript

const assert = require('assert')
const migration35 = require('../../../app/scripts/migrations/035')
describe('migration #35', () => {
it('should update the version metadata', (done) => {
const oldStorage = {
meta: {
version: 34,
},
data: {},
}
migration35.migrate(oldStorage)
.then((newStorage) => {
assert.deepEqual(newStorage.meta, {
'version': 35,
})
done()
})
.catch(done)
})
it('should delete seedWords', (done) => {
const oldStorage = {
meta: {},
data: {
PreferencesController: {
seedWords: 'seed words',
},
},
}
migration35.migrate(oldStorage)
.then((newStorage) => {
assert.deepEqual(newStorage.data.PreferencesController, {})
done()
})
.catch(done)
})
it('should delete falsy seedWords', (done) => {
const oldStorage = {
meta: {},
data: {
PreferencesController: {
seedWords: '',
},
},
}
migration35.migrate(oldStorage)
.then((newStorage) => {
assert.deepEqual(newStorage.data.PreferencesController, {})
done()
})
.catch(done)
})
it('should leave state without seedWords unchanged', (done) => {
const oldStorage = {
meta: {},
data: {
PreferencesController: {
frequentRpcListDetail: [],
currentAccountTab: 'history',
accountTokens: {},
assetImages: {},
tokens: [],
suggestedTokens: {},
useBlockie: false,
knownMethodData: {},
participateInMetaMetrics: null,
firstTimeFlowType: null,
currentLocale: 'en',
identities: {},
lostIdentities: {},
forgottenPassword: false,
preferences: {
useNativeCurrencyAsPrimaryCurrency: true,
},
completedOnboarding: false,
migratedPrivacyMode: false,
metaMetricsId: null,
metaMetricsSendCount: 0,
},
},
}
migration35.migrate(oldStorage)
.then((newStorage) => {
assert.deepEqual(newStorage.data, oldStorage.data)
done()
})
.catch(done)
})
})