diff options
author | Chi Kei Chan <chikeichan@gmail.com> | 2017-10-25 07:50:25 +0800 |
---|---|---|
committer | Chi Kei Chan <chikeichan@gmail.com> | 2017-10-25 07:50:25 +0800 |
commit | 7c2001102311d8e35f01d39ede9d5ac00e635006 (patch) | |
tree | 7ac6ad5567cb9731e8d19159ba339e4e5d73cb44 /test | |
parent | ac3072e037ee97e87ff405d4562ce7e7c00dcd8a (diff) | |
parent | ae56b865e8a4d3a6a82a97efeca34b8a592c985b (diff) | |
download | tangerine-wallet-browser-7c2001102311d8e35f01d39ede9d5ac00e635006.tar tangerine-wallet-browser-7c2001102311d8e35f01d39ede9d5ac00e635006.tar.gz tangerine-wallet-browser-7c2001102311d8e35f01d39ede9d5ac00e635006.tar.bz2 tangerine-wallet-browser-7c2001102311d8e35f01d39ede9d5ac00e635006.tar.lz tangerine-wallet-browser-7c2001102311d8e35f01d39ede9d5ac00e635006.tar.xz tangerine-wallet-browser-7c2001102311d8e35f01d39ede9d5ac00e635006.tar.zst tangerine-wallet-browser-7c2001102311d8e35f01d39ede9d5ac00e635006.zip |
Merge branch 'master' into NewUI-flat
Diffstat (limited to 'test')
-rw-r--r-- | test/integration/lib/first-time.js | 7 | ||||
-rw-r--r-- | test/integration/lib/mascara-first-time.js | 167 | ||||
-rw-r--r-- | test/unit/pending-balance-test.js | 2 | ||||
-rw-r--r-- | test/unit/pending-tx-test.js | 3 |
4 files changed, 174 insertions, 5 deletions
diff --git a/test/integration/lib/first-time.js b/test/integration/lib/first-time.js index cedb14f6e..61b38897e 100644 --- a/test/integration/lib/first-time.js +++ b/test/integration/lib/first-time.js @@ -1,4 +1,5 @@ const PASSWORD = 'password123' +const runMascaraFirstTimeTest = require('./mascara-first-time') QUnit.module('first time usage') @@ -11,9 +12,9 @@ QUnit.test('render init screen', (assert) => { }) async function runFirstTimeUsageTest(assert, done) { - let waitTime = 0 - if (window.METAMASK_PLATFORM_TYPE === 'mascara') waitTime = 4000 - await timeout(waitTime) + if (window.METAMASK_PLATFORM_TYPE === 'mascara') { + return runMascaraFirstTimeTest(assert, done) + } const app = $('#app-content') diff --git a/test/integration/lib/mascara-first-time.js b/test/integration/lib/mascara-first-time.js new file mode 100644 index 000000000..3398a5511 --- /dev/null +++ b/test/integration/lib/mascara-first-time.js @@ -0,0 +1,167 @@ +const PASSWORD = 'password123' +const reactTriggerChange = require('react-trigger-change') + +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 + reactTriggerChange(pwBox) + reactTriggerChange(confBox) + + + await timeout() + + // Create Password + const createButton = app.find('button.first-time-flow__button')[0] + createButton.click() + + await timeout(3000) + + const created = app.find('.unique-image__title')[0] + assert.equal(created.textContent, 'Your unique account image', 'unique image screen') + + // Agree button + const button = app.find('button')[0] + assert.ok(button, 'button present') + button.click() + + await timeout(1000) + + // Privacy Screen + const detail = app.find('.tou__title')[0] + assert.equal(detail.textContent, 'Privacy Notice', 'privacy notice screen') + app.find('button').click() + + await timeout(1000) + + + // terms of service screen + const tou = app.find('.tou__title')[0] + assert.equal(tou.textContent, 'Terms of Use', 'terms of use screen') + app.find('.tou__body').scrollTop(100000) + await timeout(1000) + + app.find('.first-time-flow__button').click() + await timeout(1000) + + // secret backup phrase + const seedTitle = app.find('.backup-phrase__title')[0] + assert.equal(seedTitle.textContent, 'Secret Backup Phrase', 'seed phrase screen') + app.find('.backup-phrase__reveal-button').click() + + await timeout(1000) + const seedPhrase = app.find('.backup-phrase__secret-words').text().split(' ') + app.find('.first-time-flow__button').click() + + const selectPhrase = text => { + const option = $('.backup-phrase__confirm-seed-option') + .filter((i, d) => d.textContent === text)[0] + + $(option).click() + } + + await timeout(1000) + + seedPhrase.forEach(sp => selectPhrase(sp)) + app.find('.first-time-flow__button').click() + await timeout(1000) + + // Deposit Ether Screen + const buyEthTitle = app.find('.buy-ether__title')[0] + assert.equal(buyEthTitle.textContent, 'Deposit Ether', 'deposit ether screen') + app.find('.buy-ether__do-it-later').click() + await timeout(1000) + + 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) + }) +} diff --git a/test/unit/pending-balance-test.js b/test/unit/pending-balance-test.js index 5048d487b..dc4c1c3e4 100644 --- a/test/unit/pending-balance-test.js +++ b/test/unit/pending-balance-test.js @@ -9,7 +9,7 @@ const etherBn = new BN(String(1e18)) const ether = '0x' + etherBn.toString(16) describe('PendingBalanceCalculator', function () { - let balanceCalculator + let balanceCalculator, pendingTxs describe('#calculateMaxCost(tx)', function () { it('returns a BN for a given tx value', function () { diff --git a/test/unit/pending-tx-test.js b/test/unit/pending-tx-test.js index 32421a44f..4b5170dfe 100644 --- a/test/unit/pending-tx-test.js +++ b/test/unit/pending-tx-test.js @@ -13,7 +13,8 @@ const otherNetworkId = 36 const privKey = new Buffer('8718b9618a37d1fc78c436511fc6df3c8258d3250635bba617f33003270ec03e', 'hex') describe('PendingTransactionTracker', function () { - let pendingTxTracker, txMeta, txMetaNoHash, txMetaNoRawTx, providerResultStub, provider + let pendingTxTracker, txMeta, txMetaNoHash, txMetaNoRawTx, providerResultStub, + provider, txMeta3, txList, knownErrors this.timeout(10000) beforeEach(function () { txMeta = { |