diff options
author | Kevin Serrano <kevgagser@gmail.com> | 2017-02-16 03:29:21 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-16 03:29:21 +0800 |
commit | cdd4faa917a2f02b531c479eb2f05f39f303d51b (patch) | |
tree | 2068fb2a606a2cee15256ee986306768a93c26d9 /test | |
parent | ec8aa3d1f28e24586031f36151a3b5b5490b3248 (diff) | |
parent | 6ef78eb02bf856c85f6acbf3ad8e343ab281f63c (diff) | |
download | tangerine-wallet-browser-cdd4faa917a2f02b531c479eb2f05f39f303d51b.tar tangerine-wallet-browser-cdd4faa917a2f02b531c479eb2f05f39f303d51b.tar.gz tangerine-wallet-browser-cdd4faa917a2f02b531c479eb2f05f39f303d51b.tar.bz2 tangerine-wallet-browser-cdd4faa917a2f02b531c479eb2f05f39f303d51b.tar.lz tangerine-wallet-browser-cdd4faa917a2f02b531c479eb2f05f39f303d51b.tar.xz tangerine-wallet-browser-cdd4faa917a2f02b531c479eb2f05f39f303d51b.tar.zst tangerine-wallet-browser-cdd4faa917a2f02b531c479eb2f05f39f303d51b.zip |
Merge pull request #1117 from MetaMask/disclaimer-clean
Migration Testing
Diffstat (limited to 'test')
-rw-r--r-- | test/lib/migrations/004.json | 138 | ||||
-rw-r--r-- | test/unit/migrations-test.js | 91 |
2 files changed, 215 insertions, 14 deletions
diff --git a/test/lib/migrations/004.json b/test/lib/migrations/004.json new file mode 100644 index 000000000..0e2075c46 --- /dev/null +++ b/test/lib/migrations/004.json @@ -0,0 +1,138 @@ +{ + "meta":{ + "version":4 + }, + "data":{ + "seedWords":null, + "fiatCurrency":"USD", + "isDisclaimerConfirmed":true, + "TOSHash":"a4f4e23f823a7ac51783e7ffba7914a911b09acdb97263296b7e14b527f80c5b", + "shapeShiftTxList":[ + { + "depositAddress": "1L8BJCR6KHkCiVceDqibt7zJscqPpH7pFw", + "depositType": "BTC", + "key": "shapeshift", + "time": 1471564825772, + "response": { + "status": "complete", + "outgoingCoin": "100.00", + "incomingCoin": "1.000", + "transaction": "0x3701e0ac344a12a1fc5417cf251109a7c41f3edab922310202630d9c012414c8" + } + }, + { + "depositAddress": "1L8BJCR6KHkCiVceDqibt7zJscqPpH7pFw", + "depositType": "BTC", + "key": "shapeshift", + "time": 1471566579224, + "response": { + "status": "no_deposits", + "depositAddress": "1L8BJCR6KHkCiVceDqibt7zJscqPpH7pFw" + } + }, + { + "depositAddress": "1L8BJCR6KHkCiVceDqibt7zJscqPpH7pFw", + "depositType": "BTC", + "key": "shapeshift", + "time": 1471566565378, + "response": { + "status": "received", + "depositAddress": "1L8BJCR6KHkCiVceDqibt7zJscqPpH7pFw" + } + } + ], + "noticesList":[ + { + "read":true, + "date":"Fri Dec 16 2016", + "title":"Ending Morden Support", + "body":"Due to [recent events](https://blog.ethereum.org/2016/11/20/from-morden-to-ropsten/), MetaMask is now deprecating support for the Morden Test Network.\n\nUsers will still be able to access Morden through a locally hosted node, but we will no longer be providing hosted access to this network through [Infura](http://infura.io/).\n\nPlease use the new Ropsten Network as your new default test network.\n\nYou can fund your Ropsten account using the buy button on your account page.\n\nBest wishes!\nThe MetaMask Team\n\n", + "id":0 + } + ], + "conversionRate":12.66441492, + "conversionDate":1487184182, + "vault":"{\"data\":\"Z5UFCeI/Tg9F9No0dC7eIhe4evCG91m6qeXhGpSeX48HHCQ/BepyNONKrh05YjB9hXCAd3Jy93judD+pcXNy7WS9zLujjmMI6sI90ToSrzThnMrOE6ixcH7HGS+TCcqvwBhZEsAQqUcQeHhT9CcdCQAxkKwBk8CK8W290MVeZoQVGK88hB2R8kL3mo/uayS5AnHPwWOS0rocgSfd/ioiucClpw==\",\"iv\":\"AYufeEPwp9f2Rdrfq7yS8g==\",\"salt\":\"g7BQIEx8tosH3IxWhPnrgZFu1XRkQn1Pp7l1ehTQQCo=\"}", + "config":{ + "provider":{ + "type":"testnet" + }, + "selectedAccount":"0x0beb674745816b125fbc07285d39fd373e64895c" + }, + "walletNicknames":{ + "0x0beb674745816b125fbc07285d39fd373e64895c":"Account 1", + "0x433eb37d2e4895815b90f555425dfa123ddaed40":"Account 2" + }, + "transactions":[ + { + "id":3922064325443430, + "time":1487184358262, + "status":"confirmed", + "gasMultiplier":1, + "metamaskNetworkId":"3", + "txParams":{ + "from":"0x0beb674745816b125fbc07285d39fd373e64895c", + "to":"0x18a3462427bcc9133bb46e88bcbe39cd7ef0e761", + "value":"0xde0b6b3a7640000", + "metamaskId":3922064325443430, + "metamaskNetworkId":"3", + "gas":"0x5209", + "gasPrice":"0x04a817c800", + "nonce":"0x0", + "gasLimit":"0x5209" + }, + "gasLimitSpecified":false, + "estimatedGas":"0x5209", + "txFee":"17e0186e60800", + "txValue":"de0b6b3a7640000", + "maxCost":"de234b52e4a0800", + "hash":"0x0b36c5bb31528044e6a71e45a64e9872f5f365a14ac42ee1bea49e7766216c12" + }, + { + "id":3922064325443431, + "time":1487184373172, + "status":"confirmed", + "gasMultiplier":1, + "metamaskNetworkId":"3", + "txParams":{ + "from":"0x0beb674745816b125fbc07285d39fd373e64895c", + "to":"0x433eb37d2e4895815b90f555425dfa123ddaed40", + "value":"0xde0b6b3a7640000", + "metamaskId":3922064325443431, + "metamaskNetworkId":"3", + "gas":"0x5209", + "nonce":"0x01", + "gasPrice":"0x04a817c800", + "gasLimit":"0x5209" + }, + "gasLimitSpecified":false, + "estimatedGas":"0x5209", + "txFee":"17e0186e60800", + "txValue":"de0b6b3a7640000", + "maxCost":"de234b52e4a0800", + "hash":"0x305548a8b8bb72de0ca8cf77df45e4fe2b29383e58c4da6b7eac7e9bd59e85e9" + }, + { + "id":3922064325443432, + "time":1487184391226, + "status":"unapproved", + "gasMultiplier":1, + "metamaskNetworkId":"3", + "txParams":{ + "from":"0x0beb674745816b125fbc07285d39fd373e64895c", + "to":"0x18a3462427bcc9133bb46e88bcbe39cd7ef0e761", + "value":"0xde0b6b3a7640000", + "metamaskId":3922064325443432, + "metamaskNetworkId":"3", + "gas":"0x5209" + }, + "gasLimitSpecified":false, + "estimatedGas":"0x5209", + "txFee":"17e0186e60800", + "txValue":"de0b6b3a7640000", + "maxCost":"de234b52e4a0800" + } + ], + "gasMultiplier":1 + } +} diff --git a/test/unit/migrations-test.js b/test/unit/migrations-test.js index 715a5feb0..d2a83be77 100644 --- a/test/unit/migrations-test.js +++ b/test/unit/migrations-test.js @@ -2,33 +2,96 @@ const assert = require('assert') const path = require('path') const wallet1 = require(path.join('..', 'lib', 'migrations', '001.json')) +const vault4 = require(path.join('..', 'lib', 'migrations', '004.json')) +let vault5, vault6, vault7, vault8, vault9, vault10, vault11 const migration2 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '002')) const migration3 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '003')) const migration4 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '004')) +const migration5 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '005')) +const migration6 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '006')) +const migration7 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '007')) +const migration8 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '008')) +const migration9 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '009')) +const migration10 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '010')) +const migration11 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '011')) const oldTestRpc = 'https://rawtestrpc.metamask.io/' const newTestRpc = 'https://testrpc.metamask.io/' -describe('wallet1 is migrated successfully', function() { - it('should convert providers', function() { +describe('wallet1 is migrated successfully', () => { + it('should convert providers', () => { wallet1.data.config.provider = { type: 'etherscan', rpcTarget: null } return migration2.migrate(wallet1) - .then((firstResult) => { - assert.equal(firstResult.data.config.provider.type, 'rpc', 'provider should be rpc') - assert.equal(firstResult.data.config.provider.rpcTarget, 'https://rpc.metamask.io/', 'main provider should be our rpc') - firstResult.data.config.provider.rpcTarget = oldTestRpc - return migration3.migrate(firstResult) - }).then((secondResult) => { - assert.equal(secondResult.data.config.provider.rpcTarget, newTestRpc) - return migration4.migrate(secondResult) + .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, null) - assert.equal(thirdResult.data.config.provider.type, 'testnet') + 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') }) - + }) }) - |