1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-04 23:14:56 +01:00
metamask-extension/app/scripts/migrations/024.test.js
Thomas Huang e78e82205a
Jestify migrations/ (#12106)
* Jestify migrations/

* Lint exclude migrations from mocha config, and add inclusion to jest config

* Add migration tests to jest config

* Exclude/ignore migration tests

* Set process.env.IN_TEST to true when running tests locally
2021-09-21 09:28:13 -07:00

58 lines
1.6 KiB
JavaScript

/* eslint-disable jest/no-conditional-expect */
import data from '../first-time-state';
import { TRANSACTION_STATUSES } from '../../../shared/constants/transaction';
import migration24 from './024';
const firstTimeState = {
meta: {},
data,
};
const storage = {
meta: {},
data: {
TransactionController: {
transactions: [],
},
},
};
const transactions = [];
while (transactions.length <= 10) {
transactions.push({
txParams: { from: '0x8aCce2391c0d510a6c5E5d8f819a678f79b7e675' },
status: TRANSACTION_STATUSES.UNAPPROVED,
});
transactions.push({
txParams: { from: '0x8aCce2391c0d510a6c5E5d8f819a678f79b7e675' },
status: TRANSACTION_STATUSES.CONFIRMED,
});
}
storage.data.TransactionController.transactions = transactions;
describe('storage is migrated successfully and the txParams.from are lowercase', () => {
it('should lowercase the from for unapproved txs', async () => {
const migratedData = await migration24.migrate(storage);
const migratedTransactions =
migratedData.data.TransactionController.transactions;
migratedTransactions.forEach((tx) => {
if (tx.status === TRANSACTION_STATUSES.UNAPPROVED) {
expect(tx.txParams.from).toStrictEqual(
'0x8acce2391c0d510a6c5e5d8f819a678f79b7e675',
);
} else {
expect(tx.txParams.from).toStrictEqual(
'0x8aCce2391c0d510a6c5E5d8f819a678f79b7e675',
);
}
});
});
it('should migrate first time state', async () => {
const migratedData = await migration24.migrate(firstTimeState);
expect(migratedData.meta.version).toStrictEqual(24);
});
});