1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-23 10:30:04 +01:00
metamask-extension/test/unit/migrations/029-test.js
Whymarrh Whitby 92971d3c87
Migrate codebase to use ESM (#7730)
* Update eslint-plugin-import version

* Convert JS files to use ESM

* Update ESLint rules to check imports

* Fix test:unit:global command env

* Cleanup mock-dev script
2020-01-09 00:04:58 -03:30

42 lines
1.3 KiB
JavaScript

import assert from 'assert'
import migration29 from '../../../app/scripts/migrations/029'
const properTime = (new Date()).getTime()
const storage = {
'meta': {},
'data': {
'TransactionController': {
'transactions': [
{ 'status': 'approved', id: 1, submittedTime: 0 },
{ 'status': 'approved', id: 2, submittedTime: properTime },
{ 'status': 'confirmed', id: 3, submittedTime: properTime },
{ 'status': 'submitted', id: 4, submittedTime: properTime },
{ 'status': 'submitted', id: 5, submittedTime: 0 },
],
},
},
}
describe('storage is migrated successfully where transactions that are submitted have submittedTimes', () => {
it('should auto fail transactions more than 12 hours old', (done) => {
migration29.migrate(storage)
.then((migratedData) => {
const txs = migratedData.data.TransactionController.transactions
const [ txMeta1 ] = txs
assert.equal(migratedData.meta.version, 29)
assert.equal(txMeta1.status, 'failed', 'old tx is auto failed')
assert(txMeta1.err.message.includes('too long'), 'error message assigned')
txs.forEach((tx) => {
if (tx.id === 1) {
return
}
assert.notEqual(tx.status, 'failed', 'other tx is not auto failed')
})
done()
}).catch(done)
})
})