diff options
author | frankiebee <frankie.diamond@gmail.com> | 2017-04-27 21:25:00 +0800 |
---|---|---|
committer | frankiebee <frankie.diamond@gmail.com> | 2017-04-28 20:11:05 +0800 |
commit | e7e0919d7c76c818590df4435db0152298298bd9 (patch) | |
tree | 983ecff23851d9abb2633b28210e7401becf15a3 /mascara/test/util | |
parent | e7c7c85791377bdd55042e6a4b026f4424230408 (diff) | |
download | tangerine-wallet-browser-e7e0919d7c76c818590df4435db0152298298bd9.tar tangerine-wallet-browser-e7e0919d7c76c818590df4435db0152298298bd9.tar.gz tangerine-wallet-browser-e7e0919d7c76c818590df4435db0152298298bd9.tar.bz2 tangerine-wallet-browser-e7e0919d7c76c818590df4435db0152298298bd9.tar.lz tangerine-wallet-browser-e7e0919d7c76c818590df4435db0152298298bd9.tar.xz tangerine-wallet-browser-e7e0919d7c76c818590df4435db0152298298bd9.tar.zst tangerine-wallet-browser-e7e0919d7c76c818590df4435db0152298298bd9.zip |
Setup test enviroment for mascara
Diffstat (limited to 'mascara/test/util')
-rw-r--r-- | mascara/test/util/mascara-test-helper.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/mascara/test/util/mascara-test-helper.js b/mascara/test/util/mascara-test-helper.js new file mode 100644 index 000000000..1ed576005 --- /dev/null +++ b/mascara/test/util/mascara-test-helper.js @@ -0,0 +1,40 @@ +const EventEmitter = require('events') +const IDB = require('../../../mascara/src/lib/index-db-controller') +const KEY = 'metamask-test-config' +module.exports = class Helper extends EventEmitter { + constructor () { + super() + } + + tryToCleanContext () { + this.unregister() + .then(() => this.clearDb()) + .then(() => super.emit('complete')) + .catch((err) => super.emit('complete')) + } + + unregister () { + return global.navigator.serviceWorker.getRegistration() + .then((registration) => { + if (registration) return registration.unregister() + .then((b) => b ? Promise.resolve() : Promise.reject()) + else return Promise.resolve() + }) + } + clearDb () { + return new Promise ((resolve, reject) => { + const deleteRequest = global.indexDB.deleteDatabase(KEY) + deleteRequest.addEventListener('success', resolve) + deleteRequest.addEventListener('error', reject) + }) + + } + mockState (state) { + const db = new IDB({ + version: 2, + key: KEY, + initialState: state + }) + return db.open() + } +} |