1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-30 08:09:15 +01:00
metamask-extension/test/unit/migrations/029-test.js
Brad Decker a49a4a066c
expand transaction constants coverage (#9790)
* expand transaction constants coverage

* touchups

* dont import inside of e2e

* Update app/scripts/controllers/transactions/tx-state-manager.js

Co-authored-by: Mark Stacey <markjstacey@gmail.com>

* Update test/unit/app/controllers/transactions/tx-controller-test.js

Co-authored-by: Mark Stacey <markjstacey@gmail.com>

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2020-11-07 01:38:12 -06:00

68 lines
1.8 KiB
JavaScript

import assert from 'assert'
import migration29 from '../../../app/scripts/migrations/029'
import { TRANSACTION_STATUSES } from '../../../shared/constants/transaction'
const properTime = new Date().getTime()
const storage = {
meta: {},
data: {
TransactionController: {
transactions: [
{ status: TRANSACTION_STATUSES.APPROVED, id: 1, submittedTime: 0 },
{
status: TRANSACTION_STATUSES.APPROVED,
id: 2,
submittedTime: properTime,
},
{
status: TRANSACTION_STATUSES.CONFIRMED,
id: 3,
submittedTime: properTime,
},
{
status: TRANSACTION_STATUSES.SUBMITTED,
id: 4,
submittedTime: properTime,
},
{ status: TRANSACTION_STATUSES.SUBMITTED, id: 5, submittedTime: 0 },
],
},
},
}
describe('storage is migrated successfully where transactions that are submitted have submittedTimes', function () {
it('should auto fail transactions more than 12 hours old', function (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,
TRANSACTION_STATUSES.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,
TRANSACTION_STATUSES.FAILED,
'other tx is not auto failed',
)
})
done()
})
.catch(done)
})
})