diff options
author | Chi Kei Chan <chikeichan@gmail.com> | 2017-10-03 09:11:27 +0800 |
---|---|---|
committer | Chi Kei Chan <chikeichan@gmail.com> | 2017-10-21 12:51:37 +0800 |
commit | d9735ed5b31caf17506e6cace436f6268f5ca78d (patch) | |
tree | eb8385efdd12c08fac7748aa6ad2d9b8cfe56396 /test/integration/lib/mascara-first-time.js | |
parent | 996523c790e2299ff4d8b67151ef0add12f5f778 (diff) | |
download | tangerine-wallet-browser-d9735ed5b31caf17506e6cace436f6268f5ca78d.tar tangerine-wallet-browser-d9735ed5b31caf17506e6cace436f6268f5ca78d.tar.gz tangerine-wallet-browser-d9735ed5b31caf17506e6cace436f6268f5ca78d.tar.bz2 tangerine-wallet-browser-d9735ed5b31caf17506e6cace436f6268f5ca78d.tar.lz tangerine-wallet-browser-d9735ed5b31caf17506e6cace436f6268f5ca78d.tar.xz tangerine-wallet-browser-d9735ed5b31caf17506e6cace436f6268f5ca78d.tar.zst tangerine-wallet-browser-d9735ed5b31caf17506e6cace436f6268f5ca78d.zip |
Fixing integraiton test
Diffstat (limited to 'test/integration/lib/mascara-first-time.js')
-rw-r--r-- | test/integration/lib/mascara-first-time.js | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/test/integration/lib/mascara-first-time.js b/test/integration/lib/mascara-first-time.js new file mode 100644 index 000000000..7dff33657 --- /dev/null +++ b/test/integration/lib/mascara-first-time.js @@ -0,0 +1,126 @@ +const PASSWORD = 'password123' + +window.testUtils = require('react-dom/test-utils') + +async function runFirstTimeUsageTest (assert, done) { + await timeout(4000) + + const app = $('#app-content') + + // 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() + console.log('Clearing notice') + button.click() + await timeout() + } else { + // exit loop + console.log('No more notices...') + break + } + } + + await timeout() + + // Scroll through terms + const title = app.find('.create-password__title').text() + assert.equal(title, 'Create Password', 'create password screen') + + // enter password + const pwBox = app.find('.first-time-flow__input')[0] + const confBox = app.find('.first-time-flow__input')[1] + pwBox.value = PASSWORD + confBox.value = PASSWORD + $(pwBox).change() + $(confBox).change() + + + await timeout() + + // create vault + const createButton = app.find('button.first-time-flow__button')[0] + createButton.click() + + await timeout(3000) + + const created = app.find('h3')[0] + assert.equal(created.textContent, 'Vault Created', 'Vault created screen') + + // Agree button + const button = app.find('button')[0] + assert.ok(button, 'button present') + button.click() + + await timeout(1000) + + const detail = app.find('.account-detail-section')[0] + assert.ok(detail, 'Account detail section loaded.') + + const sandwich = app.find('.sandwich-expando')[0] + sandwich.click() + + await timeout() + + 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() + + await timeout(1000) + + const pwBox2 = app.find('#password-box')[0] + pwBox2.value = PASSWORD + + const createButton2 = app.find('button.primary')[0] + createButton2.click() + + await timeout(1000) + + const detail2 = app.find('.account-detail-section')[0] + assert.ok(detail2, 'Account detail section loaded again.') + + await timeout() + + // open account settings dropdown + const qrButton = app.find('.fa.fa-ellipsis-h')[0] + qrButton.click() + + await timeout(1000) + + // qr code item + const qrButton2 = app.find('.dropdown-menu-item')[1] + qrButton2.click() + + await timeout(1000) + + 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') + + await timeout() + + const networkMenu = app.find('.network-indicator')[0] + networkMenu.click() + + await timeout() + + const networkMenu2 = app.find('.network-indicator')[0] + const children2 = networkMenu2.children + children2.length[3] + assert.ok(children2, 'All network options present') +} + +module.exports = runFirstTimeUsageTest + +function timeout (time) { + return new Promise((resolve, reject) => { + setTimeout(resolve, time || 1500) + }) +} |