diff options
author | frankiebee <frankie.diamond@gmail.com> | 2018-06-26 02:45:00 +0800 |
---|---|---|
committer | frankiebee <frankie.diamond@gmail.com> | 2018-06-26 02:45:00 +0800 |
commit | 7d3da0ae96a761461ee12bf20d8386a5ba7aade2 (patch) | |
tree | 0b11f5143557cf6607bedb5fa361358da233749c /test/unit | |
parent | 27c348ba77c9be7baafd48516ef6f46f5402f4d0 (diff) | |
download | tangerine-wallet-browser-7d3da0ae96a761461ee12bf20d8386a5ba7aade2.tar tangerine-wallet-browser-7d3da0ae96a761461ee12bf20d8386a5ba7aade2.tar.gz tangerine-wallet-browser-7d3da0ae96a761461ee12bf20d8386a5ba7aade2.tar.bz2 tangerine-wallet-browser-7d3da0ae96a761461ee12bf20d8386a5ba7aade2.tar.lz tangerine-wallet-browser-7d3da0ae96a761461ee12bf20d8386a5ba7aade2.tar.xz tangerine-wallet-browser-7d3da0ae96a761461ee12bf20d8386a5ba7aade2.tar.zst tangerine-wallet-browser-7d3da0ae96a761461ee12bf20d8386a5ba7aade2.zip |
migration 27 - remove rejected transactions from state
Diffstat (limited to 'test/unit')
-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..77c0bbee6 --- /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) + }) +}) |