aboutsummaryrefslogtreecommitdiffstats
path: root/mascara
diff options
context:
space:
mode:
authorFrankie <frankie.diamond@gmail.com>2017-09-19 03:54:39 +0800
committerGitHub <noreply@github.com>2017-09-19 03:54:39 +0800
commitbbae8d975e1800b37b05b35713728cd39f992071 (patch)
tree4bafb3f651894dd62741daa114d9820ff4a12843 /mascara
parentc9ac8f09199ecbe37982b1ba1470c8aa03a139a0 (diff)
parent784510f89fcb460bcf77ba477fe9a7c144c25f63 (diff)
downloadtangerine-wallet-browser-bbae8d975e1800b37b05b35713728cd39f992071.tar
tangerine-wallet-browser-bbae8d975e1800b37b05b35713728cd39f992071.tar.gz
tangerine-wallet-browser-bbae8d975e1800b37b05b35713728cd39f992071.tar.bz2
tangerine-wallet-browser-bbae8d975e1800b37b05b35713728cd39f992071.tar.lz
tangerine-wallet-browser-bbae8d975e1800b37b05b35713728cd39f992071.tar.xz
tangerine-wallet-browser-bbae8d975e1800b37b05b35713728cd39f992071.tar.zst
tangerine-wallet-browser-bbae8d975e1800b37b05b35713728cd39f992071.zip
Merge pull request #2098 from MetaMask/mascara-tests
Integration test suite improvements
Diffstat (limited to 'mascara')
-rw-r--r--mascara/src/proxy.js3
-rw-r--r--mascara/src/ui.js49
-rw-r--r--mascara/test/index.html21
-rw-r--r--mascara/test/lib/first-time.js119
-rw-r--r--mascara/test/test-ui.js12
-rw-r--r--mascara/test/testem.yml13
-rw-r--r--mascara/test/window-load.js5
7 files changed, 44 insertions, 178 deletions
diff --git a/mascara/src/proxy.js b/mascara/src/proxy.js
index 5b95175f1..07c5b0e3c 100644
--- a/mascara/src/proxy.js
+++ b/mascara/src/proxy.js
@@ -1,7 +1,6 @@
const createParentStream = require('iframe-stream').ParentStream
const SWcontroller = require('client-sw-ready-event/lib/sw-client.js')
const SwStream = require('sw-stream/lib/sw-stream.js')
-const SetupUntrustedComunication = ('./lib/setup-untrusted-connection.js')
let intervalDelay = Math.floor(Math.random() * (30000 - 1000)) + 1000
const background = new SWcontroller({
@@ -12,7 +11,7 @@ const background = new SWcontroller({
})
const pageStream = createParentStream()
-background.on('ready', (_) => {
+background.on('ready', () => {
let swStream = SwStream({
serviceWorker: background.controller,
context: 'dapp',
diff --git a/mascara/src/ui.js b/mascara/src/ui.js
index 5f9be542f..2f940ad1a 100644
--- a/mascara/src/ui.js
+++ b/mascara/src/ui.js
@@ -2,8 +2,6 @@ const injectCss = require('inject-css')
const SWcontroller = require('client-sw-ready-event/lib/sw-client.js')
const SwStream = require('sw-stream/lib/sw-stream.js')
const MetaMaskUiCss = require('../../ui/css')
-const setupIframe = require('./lib/setup-iframe.js')
-const MetamaskInpageProvider = require('../../app/scripts/lib/inpage-provider.js')
const MetamascaraPlatform = require('../../app/scripts/platforms/window')
const startPopup = require('../../app/scripts/popup-core')
@@ -17,6 +15,7 @@ const container = document.getElementById('app-content')
var name = 'popup'
window.METAMASK_UI_TYPE = name
+window.METAMASK_PLATFORM_TYPE = 'mascara'
let intervalDelay = Math.floor(Math.random() * (30000 - 1000)) + 1000
@@ -32,25 +31,39 @@ const connectApp = function (readSw) {
serviceWorker: background.controller,
context: name,
})
- startPopup({container, connectionStream}, (err, store) => {
- if (err) return displayCriticalError(err)
- store.subscribe(() => {
- const state = store.getState()
- if (state.appState.shouldClose) window.close()
+ return new Promise((resolve, reject) => {
+ startPopup({ container, connectionStream }, (err, store) => {
+ console.log('hello from MetaMascara ui!')
+ if (err) reject(err)
+ store.subscribe(() => {
+ const state = store.getState()
+ if (state.appState.shouldClose) window.close()
+ })
+ resolve()
})
})
}
-background.on('ready', (sw) => {
- background.removeListener('updatefound', connectApp)
- connectApp(sw)
+background.on('ready', async (sw) => {
+ try {
+ background.removeListener('updatefound', connectApp)
+ await timeout(1000)
+ await connectApp(sw)
+ console.log('hello from cb ready event!')
+ } catch (e) {
+ console.error(e)
+ }
})
-background.on('updatefound', () => window.location.reload())
+background.on('updatefound', windowReload)
background.startWorker()
-.then(() => {
- setTimeout(() => {
- const appContent = document.getElementById(`app-content`)
- if (!appContent.children.length) window.location.reload()
- }, 2000)
-})
-console.log('hello from MetaMascara ui!')
+
+function windowReload() {
+ if (window.METAMASK_SKIP_RELOAD) return
+ window.location.reload()
+}
+
+function timeout (time) {
+ return new Promise((resolve) => {
+ setTimeout(resolve, time || 1500)
+ })
+} \ No newline at end of file
diff --git a/mascara/test/index.html b/mascara/test/index.html
deleted file mode 100644
index 6495c2cfc..000000000
--- a/mascara/test/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width">
- <title>QUnit Example</title>
- <link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.0.0.css">
-</head>
-<body>
- <div id="qunit"></div>
- <div id="qunit-fixture"></div>
- <script src="https://code.jquery.com/qunit/qunit-2.0.0.js"></script>
- <script src="./jquery-3.1.0.min.js"></script>
- <script src="./helpers.js"></script>
- <script src="./test-bundle.js"></script>
- <script src="/testem.js"></script>
-
- <div id="app-content"></div>
- <script src="./bundle.js"></script>
-</body>
-</html>
diff --git a/mascara/test/lib/first-time.js b/mascara/test/lib/first-time.js
deleted file mode 100644
index e42c9e39d..000000000
--- a/mascara/test/lib/first-time.js
+++ /dev/null
@@ -1,119 +0,0 @@
-const PASSWORD = 'password123'
-
-QUnit.module('first time usage')
-
-QUnit.test('render init screen', function (assert) {
- var done = assert.async()
- let app
-
- wait(1000).then(function() {
- app = $('#app-content').contents()
- const recurseNotices = function () {
- let button = app.find('button')
- if (button.html() === 'Accept') {
- let termsPage = app.find('.markdown')[0]
- termsPage.scrollTop = termsPage.scrollHeight
- return wait().then(() => {
- button.click()
- return wait()
- }).then(() => {
- return recurseNotices()
- })
- } else {
- return wait()
- }
- }
- return recurseNotices()
- }).then(function() {
- // Scroll through terms
- var title = app.find('h1').text()
- assert.equal(title, 'MetaMask', 'title screen')
-
- // enter password
- var pwBox = app.find('#password-box')[0]
- var confBox = app.find('#password-box-confirm')[0]
- pwBox.value = PASSWORD
- confBox.value = PASSWORD
-
- return wait()
- }).then(function() {
-
- // create vault
- var createButton = app.find('button.primary')[0]
- createButton.click()
-
- return wait(1500)
- }).then(function() {
-
- var created = app.find('h3')[0]
- assert.equal(created.textContent, 'Vault Created', 'Vault created screen')
-
- // Agree button
- var button = app.find('button')[0]
- assert.ok(button, 'button present')
- button.click()
-
- return wait(1000)
- }).then(function() {
-
- var detail = app.find('.account-detail-section')[0]
- assert.ok(detail, 'Account detail section loaded.')
-
- var sandwich = app.find('.sandwich-expando')[0]
- sandwich.click()
-
- return wait()
- }).then(function() {
-
- var sandwich = app.find('.menu-droppo')[0]
- var children = sandwich.children
- var lock = children[children.length - 2]
- assert.ok(lock, 'Lock menu item found')
- lock.click()
-
- return wait(1000)
- }).then(function() {
-
- var pwBox = app.find('#password-box')[0]
- pwBox.value = PASSWORD
-
- var createButton = app.find('button.primary')[0]
- createButton.click()
-
- return wait(1000)
- }).then(function() {
-
- var detail = app.find('.account-detail-section')[0]
- assert.ok(detail, 'Account detail section loaded again.')
-
- return wait()
- }).then(function (){
-
- var qrButton = app.find('.fa.fa-qrcode')[0]
- qrButton.click()
-
- return wait(1000)
- }).then(function (){
-
- var qrHeader = app.find('.qr-header')[0]
- var qrContainer = app.find('#qr-container')[0]
- assert.equal(qrHeader.textContent, 'Account 1', 'Should show account label.')
- assert.ok(qrContainer, 'QR Container found')
-
- return wait()
- }).then(function (){
-
- var networkMenu = app.find('.network-indicator')[0]
- networkMenu.click()
-
- return wait()
- }).then(function (){
-
- var networkMenu = app.find('.network-indicator')[0]
- var children = networkMenu.children
- children.length[3]
- assert.ok(children, 'All network options present')
-
- done()
- })
-})
diff --git a/mascara/test/test-ui.js b/mascara/test/test-ui.js
new file mode 100644
index 000000000..b9bc42dff
--- /dev/null
+++ b/mascara/test/test-ui.js
@@ -0,0 +1,12 @@
+const Helper = require('./util/mascara-test-helper.js')
+
+window.addEventListener('load', () => {
+ window.METAMASK_SKIP_RELOAD = true
+ // inject app container
+ const body = document.body
+ const container = document.createElement('div')
+ container.id = 'app-content'
+ body.appendChild(container)
+ // start ui
+ require('../src/ui.js')
+})
diff --git a/mascara/test/testem.yml b/mascara/test/testem.yml
deleted file mode 100644
index f1f5844bd..000000000
--- a/mascara/test/testem.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-launch_in_dev:
- - Chrome
- - Firefox
- - Opera
-launch_in_ci:
- - Chrome
- - Firefox
- - Opera
-framework:
- - qunit
-before_tests: "npm run mascaraCi"
-after_tests: "rm ./background.js ./test-bundle.js ./bundle.js"
-test_page: "./index.html"
diff --git a/mascara/test/window-load.js b/mascara/test/window-load.js
deleted file mode 100644
index d3f44f05f..000000000
--- a/mascara/test/window-load.js
+++ /dev/null
@@ -1,5 +0,0 @@
-const Helper = require('./util/mascara-test-helper.js')
-
-window.addEventListener('load', () => {
- require('../src/ui.js')
-})