aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2016-09-07 06:29:36 +0800
committerDan Finlay <dan@danfinlay.com>2016-09-07 06:29:36 +0800
commit58a8f02294eb1079d92cdf1e6d05a74a224029c3 (patch)
treefb723445e877bc316b060edcbe76284edf05f889 /test
parentb2ebb6032d3f99eb0e9eb90364a0cd95c7775bde (diff)
parent095a40e33d40bc02ef6a6b7379eb6c90e0b4c3d8 (diff)
downloadtangerine-wallet-browser-58a8f02294eb1079d92cdf1e6d05a74a224029c3.tar
tangerine-wallet-browser-58a8f02294eb1079d92cdf1e6d05a74a224029c3.tar.gz
tangerine-wallet-browser-58a8f02294eb1079d92cdf1e6d05a74a224029c3.tar.bz2
tangerine-wallet-browser-58a8f02294eb1079d92cdf1e6d05a74a224029c3.tar.lz
tangerine-wallet-browser-58a8f02294eb1079d92cdf1e6d05a74a224029c3.tar.xz
tangerine-wallet-browser-58a8f02294eb1079d92cdf1e6d05a74a224029c3.tar.zst
tangerine-wallet-browser-58a8f02294eb1079d92cdf1e6d05a74a224029c3.zip
Merge branch 'master' into ModularFiatBalance
Diffstat (limited to 'test')
-rw-r--r--test/unit/metamask-controller-test.js97
1 files changed, 97 insertions, 0 deletions
diff --git a/test/unit/metamask-controller-test.js b/test/unit/metamask-controller-test.js
new file mode 100644
index 000000000..b87169ca2
--- /dev/null
+++ b/test/unit/metamask-controller-test.js
@@ -0,0 +1,97 @@
+var assert = require('assert')
+var MetaMaskController = require('../../app/scripts/metamask-controller')
+var sinon = require('sinon')
+var extend = require('xtend')
+const STORAGE_KEY = 'metamask-config'
+
+describe('MetaMaskController', function() {
+ const noop = () => {}
+ let controller = new MetaMaskController({
+ showUnconfirmedMessage: noop,
+ unlockAccountMessage: noop,
+ showUnconfirmedTx: noop,
+ setData,
+ loadData,
+ })
+
+ beforeEach(function() {
+ // sinon allows stubbing methods that are easily verified
+ this.sinon = sinon.sandbox.create()
+ window.localStorage = {} // Hacking localStorage support into JSDom
+ })
+
+ afterEach(function() {
+ // sinon requires cleanup otherwise it will overwrite context
+ this.sinon.restore()
+ })
+
+ describe('#enforceTxValidations', function () {
+ it('returns null for positive values', function() {
+ var sample = {
+ value: '0x01'
+ }
+ var res = controller.enforceTxValidations(sample)
+ assert.equal(res, null, 'no error')
+ })
+
+
+ it('returns error for negative values', function() {
+ var sample = {
+ value: '-0x01'
+ }
+ var res = controller.enforceTxValidations(sample)
+ assert.ok(res, 'error')
+ })
+ })
+})
+
+
+function loadData () {
+ var oldData = getOldStyleData()
+ var newData
+ try {
+ newData = JSON.parse(window.localStorage[STORAGE_KEY])
+ } catch (e) {}
+
+ var data = extend({
+ meta: {
+ version: 0,
+ },
+ data: {
+ config: {
+ provider: {
+ type: 'testnet',
+ },
+ },
+ },
+ }, oldData || null, newData || null)
+ return data
+}
+
+function getOldStyleData () {
+ var config, wallet, seedWords
+
+ var result = {
+ meta: { version: 0 },
+ data: {},
+ }
+
+ try {
+ config = JSON.parse(window.localStorage['config'])
+ result.data.config = config
+ } catch (e) {}
+ try {
+ wallet = JSON.parse(window.localStorage['lightwallet'])
+ result.data.wallet = wallet
+ } catch (e) {}
+ try {
+ seedWords = window.localStorage['seedWords']
+ result.data.seedWords = seedWords
+ } catch (e) {}
+
+ return result
+}
+
+function setData (data) {
+ window.localStorage[STORAGE_KEY] = JSON.stringify(data)
+}