mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
tests - integration - get flat and mascara tests closer to compatible
This commit is contained in:
parent
610f09262d
commit
b53d04c409
@ -14,13 +14,13 @@
|
|||||||
</body>
|
</body>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
html, body, #app-content, .super-dev-container {
|
html, body, #test-container, .super-dev-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
background: white;
|
background: white;
|
||||||
}
|
}
|
||||||
.mock-app-root {
|
#app-content {
|
||||||
background: #F7F7F7;
|
background: #F7F7F7;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -18,13 +18,14 @@
|
|||||||
</body>
|
</body>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
html, body, #app-content, .super-dev-container {
|
html, body, #test-container, .super-dev-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
background: white;
|
background: white;
|
||||||
}
|
}
|
||||||
.mock-app-root {
|
|
||||||
|
#app-content {
|
||||||
background: #F7F7F7;
|
background: #F7F7F7;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -2,8 +2,6 @@ const injectCss = require('inject-css')
|
|||||||
const SWcontroller = require('client-sw-ready-event/lib/sw-client.js')
|
const SWcontroller = require('client-sw-ready-event/lib/sw-client.js')
|
||||||
const SwStream = require('sw-stream/lib/sw-stream.js')
|
const SwStream = require('sw-stream/lib/sw-stream.js')
|
||||||
const MetaMaskUiCss = require('../../ui/css')
|
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 MetamascaraPlatform = require('../../app/scripts/platforms/window')
|
||||||
const startPopup = require('../../app/scripts/popup-core')
|
const startPopup = require('../../app/scripts/popup-core')
|
||||||
|
|
||||||
@ -49,8 +47,8 @@ background.on('updatefound', windowReload)
|
|||||||
background.startWorker()
|
background.startWorker()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const appContent = document.getElementById(`app-content`)
|
const container = document.getElementById(`app-content`)
|
||||||
if (!appContent.children.length) windowReload()
|
if (!container.children.length) windowReload()
|
||||||
}, 2000)
|
}, 2000)
|
||||||
})
|
})
|
||||||
console.log('hello from MetaMascara ui!')
|
console.log('hello from MetaMascara ui!')
|
||||||
|
@ -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()
|
|
||||||
})
|
|
||||||
})
|
|
@ -7,7 +7,6 @@ window.addEventListener('load', () => {
|
|||||||
const container = document.createElement('div')
|
const container = document.createElement('div')
|
||||||
container.id = 'app-content'
|
container.id = 'app-content'
|
||||||
body.appendChild(container)
|
body.appendChild(container)
|
||||||
|
|
||||||
// start ui
|
// start ui
|
||||||
require('../src/ui.js')
|
require('../src/ui.js')
|
||||||
})
|
})
|
||||||
|
@ -94,7 +94,7 @@ startApp()
|
|||||||
function startApp(){
|
function startApp(){
|
||||||
const body = document.body
|
const body = document.body
|
||||||
const container = document.createElement('div')
|
const container = document.createElement('div')
|
||||||
container.id = 'app-content'
|
container.id = 'test-container'
|
||||||
body.appendChild(container)
|
body.appendChild(container)
|
||||||
|
|
||||||
render(
|
render(
|
||||||
@ -112,7 +112,7 @@ function startApp(){
|
|||||||
|
|
||||||
h(Selector, { actions, selectedKey: selectedView, states, store }),
|
h(Selector, { actions, selectedKey: selectedView, states, store }),
|
||||||
|
|
||||||
h('.mock-app-root', {
|
h('#app-content', {
|
||||||
style: {
|
style: {
|
||||||
height: '500px',
|
height: '500px',
|
||||||
width: '360px',
|
width: '360px',
|
||||||
|
@ -10,19 +10,11 @@ QUnit.test('render init screen', (assert) => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
// QUnit.testDone(({ module, name, total, passed, failed, skipped, todo, runtime }) => {
|
|
||||||
// if (failed > 0) {
|
|
||||||
// const app = $('iframe').contents()[0].documentElement
|
|
||||||
// console.warn('Test failures - dumping DOM:')
|
|
||||||
// console.log(app.innerHTML)
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
|
|
||||||
async function runFirstTimeUsageTest(assert, done) {
|
async function runFirstTimeUsageTest(assert, done) {
|
||||||
|
|
||||||
await timeout()
|
await timeout()
|
||||||
|
|
||||||
const app = $('#app-content .mock-app-root')
|
const app = $('#app-content')
|
||||||
|
|
||||||
// recurse notices
|
// recurse notices
|
||||||
while (true) {
|
while (true) {
|
||||||
@ -32,10 +24,12 @@ async function runFirstTimeUsageTest(assert, done) {
|
|||||||
const termsPage = app.find('.markdown')[0]
|
const termsPage = app.find('.markdown')[0]
|
||||||
termsPage.scrollTop = termsPage.scrollHeight
|
termsPage.scrollTop = termsPage.scrollHeight
|
||||||
await timeout()
|
await timeout()
|
||||||
|
console.log('Clearing notice')
|
||||||
button.click()
|
button.click()
|
||||||
await timeout()
|
await timeout()
|
||||||
} else {
|
} else {
|
||||||
// exit loop
|
// exit loop
|
||||||
|
console.log('No more notices...')
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,5 +10,8 @@ module.exports = function(config) {
|
|||||||
settings.files.push({ pattern: 'dist/mascara/background.js', watched: false, included: false, served: true }),
|
settings.files.push({ pattern: 'dist/mascara/background.js', watched: false, included: false, served: true }),
|
||||||
settings.proxies['/background.js'] = '/base/dist/mascara/background.js'
|
settings.proxies['/background.js'] = '/base/dist/mascara/background.js'
|
||||||
|
|
||||||
|
// use this to keep the browser open for debugging
|
||||||
|
settings.browserNoActivityTimeout = 10000000
|
||||||
|
|
||||||
config.set(settings)
|
config.set(settings)
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ const actions = {
|
|||||||
var css = MetaMaskUiCss()
|
var css = MetaMaskUiCss()
|
||||||
injectCss(css)
|
injectCss(css)
|
||||||
|
|
||||||
const container = document.querySelector('#app-content')
|
const container = document.querySelector('#test-container')
|
||||||
|
|
||||||
// parse opts
|
// parse opts
|
||||||
var store = configureStore(states[selectedView])
|
var store = configureStore(states[selectedView])
|
||||||
@ -72,7 +72,7 @@ render(
|
|||||||
|
|
||||||
h(Selector, { actions, selectedKey: selectedView, states, store }),
|
h(Selector, { actions, selectedKey: selectedView, states, store }),
|
||||||
|
|
||||||
h('.mock-app-root', {
|
h('#app-content', {
|
||||||
style: {
|
style: {
|
||||||
height: '500px',
|
height: '500px',
|
||||||
width: '360px',
|
width: '360px',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user