diff options
author | Chi Kei Chan <chikeichan@gmail.com> | 2017-09-19 02:28:10 +0800 |
---|---|---|
committer | Chi Kei Chan <chikeichan@gmail.com> | 2017-09-19 02:28:10 +0800 |
commit | 6c5865d564167c1097d6010e47d1e82a75087fd1 (patch) | |
tree | 9ced5adba4b6e5b77724f19a086a10981ba7e375 /test/integration/lib/first-time.js | |
parent | 54bbf8d8590014b92e7857f30bdc2d8f3779431a (diff) | |
parent | 693655e2da7cacf5a5326b50bddc37bcece9422e (diff) | |
download | tangerine-wallet-browser-6c5865d564167c1097d6010e47d1e82a75087fd1.tar tangerine-wallet-browser-6c5865d564167c1097d6010e47d1e82a75087fd1.tar.gz tangerine-wallet-browser-6c5865d564167c1097d6010e47d1e82a75087fd1.tar.bz2 tangerine-wallet-browser-6c5865d564167c1097d6010e47d1e82a75087fd1.tar.lz tangerine-wallet-browser-6c5865d564167c1097d6010e47d1e82a75087fd1.tar.xz tangerine-wallet-browser-6c5865d564167c1097d6010e47d1e82a75087fd1.tar.zst tangerine-wallet-browser-6c5865d564167c1097d6010e47d1e82a75087fd1.zip |
Merge branch 'master' into nm
Diffstat (limited to 'test/integration/lib/first-time.js')
-rw-r--r-- | test/integration/lib/first-time.js | 198 |
1 files changed, 105 insertions, 93 deletions
diff --git a/test/integration/lib/first-time.js b/test/integration/lib/first-time.js index 0e4b802da..38a94e551 100644 --- a/test/integration/lib/first-time.js +++ b/test/integration/lib/first-time.js @@ -2,125 +2,137 @@ const PASSWORD = 'password123' QUnit.module('first time usage') -QUnit.test('render init screen', function (assert) { - var done = assert.async() - let app - - wait().then(function() { - app = $('iframe').contents().find('#app-content .mock-app-root') - - 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() - } +QUnit.test('render init screen', (assert) => { + const done = assert.async() + runFirstTimeUsageTest(assert).then(done).catch((err) => { + assert.notOk(err, `Error was thrown: ${err.stack}`) + done() + }) +}) + +// 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) { + + await timeout() + + const app = $('#app-content .mock-app-root') + + // recurse notices + while (true) { + const button = app.find('button') + if (button.html() === 'Accept') { + // still notices to accept + const termsPage = app.find('.markdown')[0] + termsPage.scrollTop = termsPage.scrollHeight + await timeout() + button.click() + await timeout() + } else { + // exit loop + break } - 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 + await timeout() - return wait() - }).then(function() { + // Scroll through terms + const title = app.find('h1').text() + assert.equal(title, 'MetaMask', 'title screen') - // create vault - var createButton = app.find('button.primary')[0] - createButton.click() + // enter password + const pwBox = app.find('#password-box')[0] + const confBox = app.find('#password-box-confirm')[0] + pwBox.value = PASSWORD + confBox.value = PASSWORD - return wait(1500) - }).then(function() { + await timeout() - var created = app.find('h3')[0] - assert.equal(created.textContent, 'Vault Created', 'Vault created screen') + // create vault + const createButton = app.find('button.primary')[0] + createButton.click() - // Agree button - var button = app.find('button')[0] - assert.ok(button, 'button present') - button.click() + await timeout(1500) - return wait(1000) - }).then(function() { + const created = app.find('h3')[0] + assert.equal(created.textContent, 'Vault Created', 'Vault created screen') - var detail = app.find('.account-detail-section')[0] - assert.ok(detail, 'Account detail section loaded.') + // Agree button + const button = app.find('button')[0] + assert.ok(button, 'button present') + button.click() - var sandwich = app.find('.sandwich-expando')[0] - sandwich.click() + await timeout(1000) - return wait() - }).then(function() { + const detail = app.find('.account-detail-section')[0] + assert.ok(detail, 'Account detail section loaded.') - 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() + const sandwich = app.find('.sandwich-expando')[0] + sandwich.click() - return wait(1000) - }).then(function() { + await timeout() - var pwBox = app.find('#password-box')[0] - pwBox.value = PASSWORD + const menu = app.find('.menu-droppo')[0] + const children = menu.children + const lock = children[children.length - 2] + assert.ok(lock, 'Lock menu item found') + lock.click() - var createButton = app.find('button.primary')[0] - createButton.click() + await timeout(1000) - return wait(1000) - }).then(function() { + const pwBox2 = app.find('#password-box')[0] + pwBox2.value = PASSWORD - var detail = app.find('.account-detail-section')[0] - assert.ok(detail, 'Account detail section loaded again.') + const createButton2 = app.find('button.primary')[0] + createButton2.click() - return wait() - }).then(function (){ + await timeout(1000) - var qrButton = app.find('.fa.fa-ellipsis-h')[0] // open account settings dropdown - qrButton.click() + const detail2 = app.find('.account-detail-section')[0] + assert.ok(detail2, 'Account detail section loaded again.') - return wait(1000) - }).then(function (){ + await timeout() - var qrButton = app.find('.dropdown-menu-item')[1] // qr code item - qrButton.click() + // open account settings dropdown + const qrButton = app.find('.fa.fa-ellipsis-h')[0] + qrButton.click() - return wait(1000) - }).then(function (){ + await timeout(1000) - 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') + // qr code item + const qrButton2 = app.find('.dropdown-menu-item')[1] + qrButton2.click() - return wait() - }).then(function (){ + await timeout(1000) - var networkMenu = app.find('.network-indicator')[0] - networkMenu.click() + const qrHeader = app.find('.qr-header')[0] + const 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 (){ + await timeout() - var networkMenu = app.find('.network-indicator')[0] - var children = networkMenu.children - children.length[3] - assert.ok(children, 'All network options present') + const networkMenu = app.find('.network-indicator')[0] + networkMenu.click() - done() + await timeout() + + const networkMenu2 = app.find('.network-indicator')[0] + const children2 = networkMenu2.children + children2.length[3] + assert.ok(children2, 'All network options present') +} + +function timeout(time) { + return new Promise(function (resolve, reject) { + setTimeout(function () { + resolve() + }, time * 3 || 1500) }) -}) +}
\ No newline at end of file |