From 1553ffd2eecd4595bbe446e7bf957344dccaa759 Mon Sep 17 00:00:00 2001 From: Thomas Huang Date: Mon, 1 Apr 2019 11:56:07 -0500 Subject: [PATCH] Migration 033 to delete NoticeController from storage --- app/scripts/migrations/033.js | 32 +++++++++++++++++++++++++ app/scripts/migrations/index.js | 2 ++ test/unit/migrations/033-test.js | 40 ++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 app/scripts/migrations/033.js create mode 100644 test/unit/migrations/033-test.js diff --git a/app/scripts/migrations/033.js b/app/scripts/migrations/033.js new file mode 100644 index 000000000000..3abb2593ed63 --- /dev/null +++ b/app/scripts/migrations/033.js @@ -0,0 +1,32 @@ +// next version number +const version = 33 + +/* + +Cleans up notices and assocated notice controller code + +*/ + +const clone = require('clone') + +module.exports = { + version, + + migrate: async function (originalVersionedData) { + const versionedData = clone(originalVersionedData) + versionedData.meta.version = version + const state = versionedData.data + const newState = transformState(state) + versionedData.data = newState + return versionedData + }, +} + +function transformState (state) { + const newState = state + // transform state here + if (state.NoticeController) { + delete newState.NoticeController + } + return newState +} diff --git a/app/scripts/migrations/index.js b/app/scripts/migrations/index.js index eb1b51685c15..be3328bad957 100644 --- a/app/scripts/migrations/index.js +++ b/app/scripts/migrations/index.js @@ -42,4 +42,6 @@ module.exports = [ require('./029'), require('./030'), require('./031'), + require('./032'), + require('./033'), ] diff --git a/test/unit/migrations/033-test.js b/test/unit/migrations/033-test.js new file mode 100644 index 000000000000..339a7d774325 --- /dev/null +++ b/test/unit/migrations/033-test.js @@ -0,0 +1,40 @@ +const assert = require('assert') +const migration33 = require('../../../app/scripts/migrations/033') + +describe('Migration to delete notice controller', () => { + const oldStorage = { + 'meta': {}, + 'data': { + 'NoticeController': { + 'noticesList': [ + { + id: 0, + read: false, + date: 'Thu Feb 09 2017', + title: 'Terms of Use', + body: 'notice body', + }, + { + id: 2, + read: false, + title: 'Privacy Notice', + body: 'notice body', + }, + { + id: 4, + read: false, + title: 'Phishing Warning', + body: 'notice body', + }, + ], + }, + }, + } + + it('removes notice controller from state', () => { + migration33.migrate(oldStorage) + .then(newStorage => { + assert.equal(newStorage.data.NoticeController, undefined) + }) + }) +}) \ No newline at end of file