diff options
Diffstat (limited to 'test/unit/migrations/036-test.js')
-rw-r--r-- | test/unit/migrations/036-test.js | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/test/unit/migrations/036-test.js b/test/unit/migrations/036-test.js new file mode 100644 index 000000000..5c13c1f0c --- /dev/null +++ b/test/unit/migrations/036-test.js @@ -0,0 +1,119 @@ +const assert = require('assert') +const migration36 = require('../../../app/scripts/migrations/036') + +describe('migration #36', () => { + it('should update the version metadata', (done) => { + const oldStorage = { + 'meta': { + 'version': 35, + }, + 'data': {}, + } + + migration36.migrate(oldStorage) + .then((newStorage) => { + assert.deepEqual(newStorage.meta, { + 'version': 36, + }) + done() + }) + .catch(done) + }) + + it('should remove privacyMode if featureFlags.privacyMode was false', (done) => { + const oldStorage = { + 'meta': {}, + 'data': { + 'PreferencesController': { + 'featureFlags': { + 'privacyMode': false, + }, + }, + }, + } + + migration36.migrate(oldStorage) + .then((newStorage) => { + assert.deepEqual(newStorage.data.PreferencesController, { + 'featureFlags': { + }, + }) + done() + }) + .catch(done) + }) + + it('should remove privacyMode if featureFlags.privacyMode was true', (done) => { + const oldStorage = { + 'meta': {}, + 'data': { + 'PreferencesController': { + 'featureFlags': { + 'privacyMode': true, + }, + }, + }, + } + + migration36.migrate(oldStorage) + .then((newStorage) => { + assert.deepEqual(newStorage.data.PreferencesController, { + 'featureFlags': { + }, + }) + done() + }) + .catch(done) + }) + + it('should NOT change any state if privacyMode does not exist', (done) => { + const oldStorage = { + 'meta': {}, + 'data': { + 'PreferencesController': { + 'migratedPrivacyMode': true, + 'featureFlags': { + }, + }, + }, + } + + migration36.migrate(oldStorage) + .then((newStorage) => { + assert.deepEqual(newStorage.data, oldStorage.data) + done() + }) + .catch(done) + }) + + it('should NOT change any state if PreferencesController is missing', (done) => { + const oldStorage = { + 'meta': {}, + 'data': {}, + } + + migration36.migrate(oldStorage) + .then((newStorage) => { + assert.deepEqual(newStorage.data, oldStorage.data) + done() + }) + .catch(done) + }) + + it('should NOT change any state if featureFlags is missing', (done) => { + const oldStorage = { + 'meta': {}, + 'data': { + 'PreferencesController': { + }, + }, + } + + migration36.migrate(oldStorage) + .then((newStorage) => { + assert.deepEqual(newStorage.data, oldStorage.data) + done() + }) + .catch(done) + }) +}) |