diff options
author | Frankie <frankie.diamond@gmail.com> | 2018-07-11 06:56:02 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-11 06:56:02 +0800 |
commit | 33e6b9483c61ae240d1c5c832be3eb3b5b00dc7b (patch) | |
tree | cfc56d4ae8499be0e6acab17460921340d580baf /test/unit/migrations/027-test.js | |
parent | f6de948e42ae633d40aef72595a01caa622a280d (diff) | |
parent | b30499886f5f738aeb93df2571cf07e2b9897ae1 (diff) | |
download | tangerine-wallet-browser-33e6b9483c61ae240d1c5c832be3eb3b5b00dc7b.tar.gz tangerine-wallet-browser-33e6b9483c61ae240d1c5c832be3eb3b5b00dc7b.tar.zst tangerine-wallet-browser-33e6b9483c61ae240d1c5c832be3eb3b5b00dc7b.zip |
Merge pull request #4667 from MetaMask/i#3896
transactions - remove rejected transactions from history
Diffstat (limited to 'test/unit/migrations/027-test.js')
-rw-r--r-- | test/unit/migrations/027-test.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/test/unit/migrations/027-test.js b/test/unit/migrations/027-test.js new file mode 100644 index 000000000..3ec9f0c0e --- /dev/null +++ b/test/unit/migrations/027-test.js @@ -0,0 +1,50 @@ +const assert = require('assert') +const migration27 = require('../../../app/scripts/migrations/027') + +const oldStorage = { + 'meta': {}, + 'data': { + 'TransactionController': { + 'transactions': [ + ], + }, + }, +} + +const transactions = [] + + +while (transactions.length < 9) { + transactions.push({status: 'rejected'}) + transactions.push({status: 'unapproved'}) + transactions.push({status: 'approved'}) +} + + +oldStorage.data.TransactionController.transactions = transactions + +describe('migration #27', () => { + it('should remove rejected transactions', (done) => { + migration27.migrate(oldStorage) + .then((newStorage) => { + const newTransactions = newStorage.data.TransactionController.transactions + assert.equal(newTransactions.length, 6, 'transactions is expected to have the length of 6') + newTransactions.forEach((txMeta) => { + if (txMeta.status === 'rejected') done(new Error('transaction was found with a status of rejected')) + }) + done() + }) + .catch(done) + }) + + it('should successfully migrate first time state', (done) => { + migration27.migrate({ + meta: {}, + data: require('../../../app/scripts/first-time-state'), + }) + .then((migratedData) => { + assert.equal(migratedData.meta.version, migration27.version) + done() + }).catch(done) + }) +}) |