aboutsummaryrefslogtreecommitdiffstats
path: root/test/lib/mock-config-manager.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/mock-config-manager.js')
-rw-r--r--test/lib/mock-config-manager.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/test/lib/mock-config-manager.js b/test/lib/mock-config-manager.js
new file mode 100644
index 000000000..fe841f455
--- /dev/null
+++ b/test/lib/mock-config-manager.js
@@ -0,0 +1,57 @@
+var ConfigManager = require('../../app/scripts/lib/config-manager')
+const STORAGE_KEY = 'metamask-persistance-key'
+const extend = require('xtend')
+
+module.exports = function() {
+ return new ConfigManager({ loadData, setData })
+}
+
+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)
+}