mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-29 15:50:28 +01:00
92971d3c87
* 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
106 lines
6.5 KiB
JavaScript
106 lines
6.5 KiB
JavaScript
import assert from 'assert'
|
|
import wallet1 from '../../lib/migrations/001.json'
|
|
import vault4 from '../../lib/migrations/004.json'
|
|
import migration2 from '../../../app/scripts/migrations/002'
|
|
import migration3 from '../../../app/scripts/migrations/003'
|
|
import migration4 from '../../../app/scripts/migrations/004'
|
|
import migration5 from '../../../app/scripts/migrations/005'
|
|
import migration6 from '../../../app/scripts/migrations/006'
|
|
import migration7 from '../../../app/scripts/migrations/007'
|
|
import migration8 from '../../../app/scripts/migrations/008'
|
|
import migration9 from '../../../app/scripts/migrations/009'
|
|
import migration10 from '../../../app/scripts/migrations/010'
|
|
import migration11 from '../../../app/scripts/migrations/011'
|
|
import migration12 from '../../../app/scripts/migrations/012'
|
|
import migration13 from '../../../app/scripts/migrations/013'
|
|
|
|
let vault5, vault6, vault7, vault8, vault9 // vault10, vault11
|
|
|
|
const oldTestRpc = 'https://rawtestrpc.metamask.io/'
|
|
const newTestRpc = 'https://testrpc.metamask.io/'
|
|
|
|
describe('wallet1 is migrated successfully', () => {
|
|
it('should convert providers', () => {
|
|
wallet1.data.config.provider = { type: 'etherscan', rpcTarget: null }
|
|
|
|
return migration2.migrate(wallet1)
|
|
.then((secondResult) => {
|
|
const secondData = secondResult.data
|
|
assert.equal(secondData.config.provider.type, 'rpc', 'provider should be rpc')
|
|
assert.equal(secondData.config.provider.rpcTarget, 'https://rpc.metamask.io/', 'main provider should be our rpc')
|
|
secondResult.data.config.provider.rpcTarget = oldTestRpc
|
|
return migration3.migrate(secondResult)
|
|
}).then((thirdResult) => {
|
|
assert.equal(thirdResult.data.config.provider.rpcTarget, newTestRpc, 'config.provider.rpcTarget should be set to the proper testrpc url.')
|
|
return migration4.migrate(thirdResult)
|
|
}).then((fourthResult) => {
|
|
const fourthData = fourthResult.data
|
|
assert.equal(fourthData.config.provider.rpcTarget, null, 'old rpcTarget should not exist.')
|
|
assert.equal(fourthData.config.provider.type, 'testnet', 'config.provider should be set to testnet.')
|
|
|
|
return migration5.migrate(vault4)
|
|
}).then((fifthResult) => {
|
|
const fifthData = fifthResult.data
|
|
assert.equal(fifthData.vault, null, 'old vault should not exist')
|
|
assert.equal(fifthData.walletNicknames, null, 'old walletNicknames should not exist')
|
|
assert.equal(fifthData.config.selectedAccount, null, 'old config.selectedAccount should not exist')
|
|
assert.equal(fifthData.KeyringController.vault, vault4.data.vault, 'KeyringController.vault should exist')
|
|
assert.equal(fifthData.KeyringController.selectedAccount, vault4.data.config.selectedAccount, 'KeyringController.selectedAccount should have moved')
|
|
assert.equal(fifthData.KeyringController.walletNicknames['0x0beb674745816b125fbc07285d39fd373e64895c'], vault4.data.walletNicknames['0x0beb674745816b125fbc07285d39fd373e64895c'], 'KeyringController.walletNicknames should have moved')
|
|
|
|
vault5 = fifthResult
|
|
return migration6.migrate(fifthResult)
|
|
}).then((sixthResult) => {
|
|
assert.equal(sixthResult.data.KeyringController.selectedAccount, null, 'old selectedAccount should not exist')
|
|
assert.equal(sixthResult.data.PreferencesController.selectedAddress, vault5.data.KeyringController.selectedAccount, 'selectedAccount should have moved')
|
|
|
|
vault6 = sixthResult
|
|
return migration7.migrate(sixthResult)
|
|
}).then((seventhResult) => {
|
|
assert.equal(seventhResult.data.transactions, null, 'old transactions should not exist')
|
|
assert.equal(seventhResult.data.gasMultiplier, null, 'old gasMultiplier should not exist')
|
|
assert.equal(seventhResult.data.TransactionManager.transactions[0].id, vault6.data.transactions[0].id, 'transactions should have moved')
|
|
assert.equal(seventhResult.data.TransactionManager.gasMultiplier, vault6.data.gasMultiplier, 'gasMultiplier should have moved')
|
|
|
|
vault7 = seventhResult
|
|
return migration8.migrate(seventhResult)
|
|
}).then((eighthResult) => {
|
|
assert.equal(eighthResult.data.noticesList, null, 'old noticesList should not exist')
|
|
assert.equal(eighthResult.data.NoticeController.noticesList[0].title, vault7.data.noticesList[0].title, 'noticesList should have moved')
|
|
|
|
vault8 = eighthResult
|
|
return migration9.migrate(eighthResult)
|
|
}).then((ninthResult) => {
|
|
assert.equal(ninthResult.data.currentFiat, null, 'old currentFiat should not exist')
|
|
assert.equal(ninthResult.data.fiatCurrency, null, 'old fiatCurrency should not exist')
|
|
assert.equal(ninthResult.data.conversionRate, null, 'old conversionRate should not exist')
|
|
assert.equal(ninthResult.data.conversionDate, null, 'old conversionDate should not exist')
|
|
|
|
assert.equal(ninthResult.data.CurrencyController.currentCurrency, vault8.data.fiatCurrency, 'currentFiat should have moved')
|
|
assert.equal(ninthResult.data.CurrencyController.conversionRate, vault8.data.conversionRate, 'conversionRate should have moved')
|
|
assert.equal(ninthResult.data.CurrencyController.conversionDate, vault8.data.conversionDate, 'conversionDate should have moved')
|
|
|
|
vault9 = ninthResult
|
|
return migration10.migrate(ninthResult)
|
|
}).then((tenthResult) => {
|
|
assert.equal(tenthResult.data.shapeShiftTxList, null, 'old shapeShiftTxList should not exist')
|
|
assert.equal(tenthResult.data.ShapeShiftController.shapeShiftTxList[0].transaction, vault9.data.shapeShiftTxList[0].transaction)
|
|
|
|
return migration11.migrate(tenthResult)
|
|
}).then((eleventhResult) => {
|
|
assert.equal(eleventhResult.data.isDisclaimerConfirmed, null, 'isDisclaimerConfirmed should not exist')
|
|
assert.equal(eleventhResult.data.TOSHash, null, 'TOSHash should not exist')
|
|
|
|
return migration12.migrate(eleventhResult)
|
|
}).then((twelfthResult) => {
|
|
assert.equal(twelfthResult.data.NoticeController.noticesList[0].body, '', 'notices that have been read should have an empty body.')
|
|
assert.equal(twelfthResult.data.NoticeController.noticesList[1].body, 'nonempty', 'notices that have not been read should not have an empty body.')
|
|
|
|
assert.equal(twelfthResult.data.config.provider.type, 'testnet', 'network is originally testnet.')
|
|
return migration13.migrate(twelfthResult)
|
|
}).then((thirteenthResult) => {
|
|
assert.equal(thirteenthResult.data.config.provider.type, 'ropsten', 'network has been changed to ropsten.')
|
|
})
|
|
})
|
|
})
|