Merge pull request #2098 from MetaMask/mascara-tests
Integration test suite improvementsfeature/default_network_editable
commit
bbae8d975e
@ -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> |
@ -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() |
||||
}) |
||||
}) |
@ -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') |
||||
}) |
@ -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" |
@ -1,5 +0,0 @@ |
||||
const Helper = require('./util/mascara-test-helper.js') |
||||
|
||||
window.addEventListener('load', () => { |
||||
require('../src/ui.js') |
||||
}) |
@ -0,0 +1,8 @@ |
||||
const getBaseConfig = require('./base.conf.js') |
||||
|
||||
module.exports = function(config) { |
||||
const settings = getBaseConfig(config) |
||||
settings.files.push('development/bundle.js') |
||||
settings.files.push('test/integration/bundle.js') |
||||
config.set(settings) |
||||
} |
@ -0,0 +1,17 @@ |
||||
const getBaseConfig = require('./base.conf.js') |
||||
|
||||
module.exports = function(config) { |
||||
const settings = getBaseConfig(config) |
||||
|
||||
// ui and tests
|
||||
settings.files.push('dist/mascara/ui.js') |
||||
settings.files.push('dist/mascara/tests.js') |
||||
// service worker background
|
||||
settings.files.push({ pattern: 'dist/mascara/background.js', watched: false, included: false, served: true }), |
||||
settings.proxies['/background.js'] = '/base/dist/mascara/background.js' |
||||
|
||||
// use this to keep the browser open for debugging
|
||||
settings.browserNoActivityTimeout = 10000000 |
||||
|
||||
config.set(settings) |
||||
} |
Loading…
Reference in new issue