From d8a12c2ad0a3244c1e08e650de2e918fdbe3f980 Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 1 Feb 2017 16:27:16 -0800 Subject: [PATCH 1/4] tests - mockDev - fix first-time flow --- development/states/first-time.json | 2 +- test/integration/lib/first-time.js | 40 ++++++++++++++---------------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/development/states/first-time.json b/development/states/first-time.json index d6d95fe06..598adc4cb 100644 --- a/development/states/first-time.json +++ b/development/states/first-time.json @@ -11,7 +11,7 @@ "network": null, "accounts": {}, "transactions": [], - "isDisclaimerConfirmed": true, + "isDisclaimerConfirmed": false, "unconfMsgs": {}, "messages": [], "shapeShiftTxList": [], diff --git a/test/integration/lib/first-time.js b/test/integration/lib/first-time.js index 777fcbb7e..fc9452045 100644 --- a/test/integration/lib/first-time.js +++ b/test/integration/lib/first-time.js @@ -8,49 +8,47 @@ QUnit.test('agree to terms', function (assert) { wait().then(function() { app = $('iframe').contents().find('#app-content .mock-app-root') - app.find('.markdown').prop('scrollTop', 100000000) - return wait() + // Scroll through terms + let termsPage = app.find('.markdown')[0] + assert.ok(termsPage, 'on terms page') + termsPage.scrollTop = termsPage.scrollHeight + + return wait() + }).then(function() { + + // Agree to terms + var button = app.find('button')[0] + button.click() + + return wait() }).then(function() { 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 terms = app.find('h3.terms-header')[0] - assert.equal(terms.textContent, 'MetaMask Terms & Conditions', 'Showing TOS') - - // Scroll through terms - var scrollable = app.find('.markdown')[0] - scrollable.scrollTop = scrollable.scrollHeight - - return wait(10) - }).then(function() { - - var button = app.find('button')[0] // Agree button - button.click() - - return wait(1000) - }).then(function() { - var created = app.find('h3')[0] assert.equal(created.textContent, 'Vault Created', 'Vault created screen') - var button = app.find('button')[0] // Agree button + // Agree button + var button = app.find('button')[0] + assert.ok(button, 'button present') button.click() return wait(1000) From bcff47d9aa06f865802747a79adec2dc500d502c Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 1 Feb 2017 16:31:22 -0800 Subject: [PATCH 2/4] test - mock-dev - expose metamaskController for debugging --- mock-dev.js | 1 + 1 file changed, 1 insertion(+) diff --git a/mock-dev.js b/mock-dev.js index b20c3be3a..6563964c3 100644 --- a/mock-dev.js +++ b/mock-dev.js @@ -62,6 +62,7 @@ const controller = new MetamaskController({ // initial state initState: firstTimeState, }) +global.metamaskController = controller // // User Interface From 4c0cb9d92e7d00da8219c82f24337e0a776e14f8 Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 1 Feb 2017 16:38:09 -0800 Subject: [PATCH 3/4] metamask - memState - adopt configManager.isDisclaimerConfirmed from keyring controller --- app/scripts/keyring-controller.js | 1 - app/scripts/metamask-controller.js | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/app/scripts/keyring-controller.js b/app/scripts/keyring-controller.js index e2752831a..d1d706165 100644 --- a/app/scripts/keyring-controller.js +++ b/app/scripts/keyring-controller.js @@ -82,7 +82,6 @@ class KeyringController extends EventEmitter { keyrings: memState.keyrings, // configManager seedWords: this.configManager.getSeedWords(), - isDisclaimerConfirmed: this.configManager.getConfirmedDisclaimer(), } return result } diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index fb5234c24..a56203a88 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -189,6 +189,7 @@ module.exports = class MetamaskController extends EventEmitter { currentFiat: this.configManager.getCurrentFiat(), conversionRate: this.configManager.getConversionRate(), conversionDate: this.configManager.getConversionDate(), + isDisclaimerConfirmed: this.configManager.getConfirmedDisclaimer(), } ) } From dacbf16fe2b2a865fcbb1fd15236efdba525c015 Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 1 Feb 2017 16:41:28 -0800 Subject: [PATCH 4/4] test - first-time - re-add terms header check --- test/integration/lib/first-time.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/integration/lib/first-time.js b/test/integration/lib/first-time.js index fc9452045..6e75eb6d7 100644 --- a/test/integration/lib/first-time.js +++ b/test/integration/lib/first-time.js @@ -10,6 +10,8 @@ QUnit.test('agree to terms', function (assert) { app = $('iframe').contents().find('#app-content .mock-app-root') // Scroll through terms + var termsHeader = app.find('h3.terms-header')[0] + assert.equal(termsHeader.textContent, 'MetaMask Terms & Conditions', 'Showing TOS') let termsPage = app.find('.markdown')[0] assert.ok(termsPage, 'on terms page') termsPage.scrollTop = termsPage.scrollHeight