aboutsummaryrefslogtreecommitdiffstats
path: root/mascara/test/util
diff options
context:
space:
mode:
authorfrankiebee <frankie.diamond@gmail.com>2017-04-27 21:25:00 +0800
committerfrankiebee <frankie.diamond@gmail.com>2017-04-28 20:11:05 +0800
commite7e0919d7c76c818590df4435db0152298298bd9 (patch)
tree983ecff23851d9abb2633b28210e7401becf15a3 /mascara/test/util
parente7c7c85791377bdd55042e6a4b026f4424230408 (diff)
downloadtangerine-wallet-browser-e7e0919d7c76c818590df4435db0152298298bd9.tar.gz
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.js40
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()
+ }
+}