aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorKevin Serrano <kevgagser@gmail.com>2017-02-16 03:29:21 +0800
committerGitHub <noreply@github.com>2017-02-16 03:29:21 +0800
commitcdd4faa917a2f02b531c479eb2f05f39f303d51b (patch)
tree2068fb2a606a2cee15256ee986306768a93c26d9 /test
parentec8aa3d1f28e24586031f36151a3b5b5490b3248 (diff)
parent6ef78eb02bf856c85f6acbf3ad8e343ab281f63c (diff)
downloadtangerine-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.json138
-rw-r--r--test/unit/migrations-test.js91
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')
})
-
+
})
})
-