1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-29 07:16:36 +01:00
Commit Graph

652 Commits

Author SHA1 Message Date
Mark Stacey
f763979bed
Add support for one-click onboarding (#7017)
* Add support for one-click onboarding

MetaMask now allows sites to register as onboarding the user, so that
the user is redirected back to the initiating site after onboarding.
This is accomplished through the use of the `metamask-onboarding`
library and the MetaMask forwarder.

At the end of onboarding, a 'snackbar'-stype component will explain to the
user they are about to be moved back to the originating dapp, and it will
show the origin of that dapp. This is intended to help prevent phishing
attempts, as it highlights that a redirect is taking place to an untrusted
third party.

If the onboarding initiator tab is closed when onboarding is finished,
the user is redirected to the onboarding originator as a fallback.

Closes #6161

* Add onboarding button to contract test dapp

The `contract-test` dapp (run with `yarn dapp`, used in e2e tests) now
uses a `Connect` button instead of connecting automatically. This
button also serves as an onboarding button when a MetaMask installation
is not detected.

* Add new static server for test dapp

The `static-server` library we were using for the `contract-test` dapp
didn't allow referencing files outside the server root. This should
have been possible to work around using symlinks, but there was a bug
that resulted in symlinks crashing the server.

Instead it has been replaced with a simple static file server that
will serve paths starting with `node_modules` from the project root.
This will be useful in testing the onboarding library without vendoring
it.

* Add `@metamask/onboarding` and `@metamask/forwarder`

Both libraries used to test onboarding are now included as dev
dependencies, to help with testing. A few convenience scripts
were added to help with this (`yarn forwarder` and `yarn dapp-forwarder`)
2019-11-22 13:03:51 -04:00
Mark Stacey
5c356a4cac
Show transaction fee units on approve screen (#7468)
The units for the amounts shown on the approve screen in the
transaction fee section were missing. It appears that they were present
in an early version of the approve screen (#7271) but they got lost
somewhere along the way.
2019-11-19 09:41:28 -04:00
Dan Miller
f8aaec6d32 Adds and end to end test for typed signature requests 2019-11-14 10:37:58 -03:30
Dan J Miller
2673eef3c4
Redesign approve screen (#7271)
* Redesign approve screen

* Add translations to approve screen components

* Show account in header of approve screen

* Use state prop bool for unlimited vs custom check in edit-approval-permission

* Set option to custom on input change in edit-approval-permission

* Allow setting of approval amount to unlimited in edit-approval-permission

* Fix height of confirm-approval popup

* Ensure decimals prop passted to confirm-approve.component is correct type

* Ensure first param passed to calcTokenValue in confirm-approve.util is the correct type

* Fix e2e test of permission editing

* Remove unused code from edit-approval-permission.container
2019-11-05 11:43:48 -03:30
Mark Stacey
fe28e0d134
Cleanup beforeunload handler after transaction is resolved (#7333)
* Cleanup beforeunload handler after transaction is resolved

The notification window was updated to reject transactions upon close
in #6340. A handler that rejects the transaction was added to
`window.onbeforeunload`, and it was cleared in `actions.js` if it was
confirmed or rejected.

However, the `onbeforeunload` handler remained uncleared if the
transaction was resolved in another window. This results in the
transaction being rejected when the notification window closes, even
long after the transaction is submitted and confirmed. This has been
the cause of many problems with the Firefox e2e tests.

Instead the `onbeforeunload` handler is cleared in the
`componentWillUnmount` lifecycle function, alongside where it's set in
the first place. This ensures that it's correctly unset regardless
of how the transaction was resolved, and it better matches user
expectations.

* Fix indentation and remove redundant export

The `run-all.sh` Bash script now uses consistent indentation, and is
consistent about only re-exporting the Ganache arguments when they
change.

* Ensure transactions are completed before checking balance

Various intermittent e2e test failures appear to be caused by React
re-rendering the transaction list during the test, as the transaction
goes from pending to confirmed. To avoid this race condition, the
transaction is now explicitly looked for in the confirmed transaction
list in each of the tests using this pattern.

* Enable all e2e tests on Firefox

The remaining tests that were disabled on Firefox now work correctly.
Only a few timing adjustments were needed.

* Update Firefox used in CI

Firefox v70 is now used on CI instead of v68. This necessitated
rewriting the function where the extension ID was obtained because the
Firefox extensions page was redesigned.
2019-10-31 13:27:22 -03:00
Mark Stacey
adb50d1357
Fix flaky e2e tests (#7307)
* Add a delay after connecting

This addresses an intermittent test failure where the MetaMask
Notification window cannot be found. It appears to be caused by the
Send button being clicked too soon after connecting to a dapp, before
the background has had a chance to process the approval. The premature
send is ignored and the window never appears.

This delay (2 seconds) should be sufficient time for the connection to
be processed. A later 5-second delay was also reduced to 2 seconds.

* Select onboarding buttons by button text

The onboarding buttons were being selected using the classname, which
was common to all onboarding buttons. This resulting in buttons being
selected just before a page transition, leading to an error about
the element reference being stale when a click was attempted.

The CSS class selectors have been replaced by text selectors, which
are more specific and shouldn't be at risk of resolving early. They're
also easier to read.

* Remove retypeSeedPhrase function

This function was used to re-type the seed phrase in the event that a
failure occurred when confirming the seed phrase. I'm not sure what
failure this was meant to address exactly, but this contingency hasn't
been needed for some time. We can tell that it hasn't been used because
it wasn't updated for the incremental account security changes, so it
couldn't have worked since then (it would have clicked the wrong
button).
2019-10-23 14:00:16 -03:00
Mark Stacey
ba25d52670
Use AdvancedGasInputs in AdvancedTabContent (#7186)
* Use `AdvancedGasInputs` in `AdvancedTabContent`

The `AdvancedGasInputs` component was originally extracted from the
`AdvancedTabContent` component, duplicating much of the rendering
logic. They have since evolved separately, with bugs being fixed in one
place but not the other.

The inputs and outputs expected weren't exactly the same, as the
`AdvancedGasInputs` component converts the input custom gas price and
limit, and it converts them both in the setter methods as well.
The `GasModalPageContainer` had to be adjusted to avoid converting
these values multiple times.

Both components dealt with input debouncing separately, both in less
than ideal ways. `AdvancedTabContent` didn't debounce either field, but
it did debounce the check for whether the gas limit field was below the
minimum value. So if a less-than-minimum value was set, it would be
propogated upwards and could be saved if the user clicked 'Save'
quickly enough. After a second delay it would snap back to the minimum
value. The `AdvancedGasInputs` component debounced both fields, but
it would replace any gas limit below the minimum with the minimum
value. This led to a problem where a brief pause during typing would
reset the field to 21000.

The `AdvancedGasInputs` approach was chosen, except that it was
updated to no longer change the gas limit if it was below the minimum.
Instead it displays an error. Parent components were checked to ensure
they would detect the error case of the gas limit being set too low,
and prevent the form submission in those cases. Of the three parents,
one had already dealt with it correctly, one needed to convert the
gas limit from hex first, and another needed the gas limit check added.

Closes #6872

* Cleanup send components

Empty README files have been removed, and a mistake in the index file
for the send page has been corrected. The Gas Slider component class
name was updated as well; it looks like it was originally created from
`AdvancedTabContent`, so it still had that class name.
2019-10-23 09:23:15 -03:00
Dan J Miller
1a0b0ce7c7 Fix e2e tests and gas default (#7267)
* Add extra delay after second send3eth.click() in the 'adds multiple transactions' test

* Remove use of ARBITRARY_HIGH_BLOCK_GAS_LIMIT as fallback
2019-10-08 14:14:20 -03:00
Dan J Miller
38df64783d Ensure correct tx category when sending to contracts without tx data (#7252)
* Ensure correct transaction category when sending to contracts but there is no txParams data

* Update gas when pasting address in send

* Gracefully fall back is send.util/estimateGas when blockGasLimit from background is falsy

* Remove network request frontend fallback for blockGasLimit

* Add some needed slow downs to e2e tests
2019-10-08 04:29:37 +09:00
ricky
5f254f7325 Add advanced setting to enable editing nonce on confirmation screens (#7089)
* Add UseNonce toggle

* Get the toggle actually working and dispatching

* Display nonce field on confirmation page

* Remove console.log

* Add placeholder

* Set customNonceValue

* Add nonce key/value to txParams

* remove customNonceValue from component state

* Use translation file and existing CSS class

* Use existing TextField component

* Remove console.log

* Fix lint nits

* Okay this sorta works?

* Move nonce toggle to advanced tab

* Set min to 0

* Wrap value in Number()

* Add customNonceMap

* Update custom nonce translation

* Update styles

* Reset CustomNonce

* Fix lint

* Get tests passing

* Add customNonceValue to defaults

* Fix test

* Fix comments

* Update tests

* Use camel case

* Ensure custom nonce can only be whole number

* Correct font size for custom nonce input

* UX improvements for custom nonce feature

* Fix advanced-tab-component tests for custom nonce changes

* Update title of nonce toggle in settings

* Remove unused locale message

* Cast custom nonce to string in confirm-transaction-base.component

* Handle string conversion and invalid values for custom nonces in handler

* Don't call getNonceLock in tx controller if there is a custom nonce

* Set nonce details for cases where nonce is customized

* Fix incorrectly use value for deciding whether to getnoncelock in approveTransaction

* Default nonceLock to empty object in approveTransaction

* Reapply use on nonceLock in cases where customNonceValue in approveTransaction.

* Show warning message if custom nonce is higher than MetaMask's next nonce

* Fix e2e test failure caused by custom nonce and 3box toggle conflict

* Update nonce warning message to include the suggested nonce

* Handle nextNonce comparison and update logic in lifecycle

* Default nonce field to suggested nonce

* Clear custom nonce on reject or confirm

* Fix bug where nonces are not shown in tx list on self sent transactions

* Ensure custom nonce is reset after tx is created in background

* Convert customNonceValue to number in approve tranasction controller

* Lint fix

* Call getNextNonce after updating custom nonce
2019-09-27 00:30:36 -04:00
Dan J Miller
970e90ea70
Add migration on 3box imports and remove feature flag (#7209)
* Delete unused code

* Run threebox imports through migrations

* Remove 3box feature flag

* Remove unnecessary use of 'type' in threebox._updatePlugin

* Fix threebox controller getLastUpdated

* Turn off threebox by default

* Rename restoredFromThreeBox to showRestorePrompt

* Remove accientally added method from threebox controller

* Restore from threebox on import from unlock screen

* Throw on non 404 errors from Box.getconfig in new3Box
2019-09-26 03:24:52 -04:00
Dan J Miller
5641f1be29
Fix recipient field of approve screen (#7171) 2019-09-16 17:05:21 -02:30
Dan J Miller
7985f4f4f8
3box integration 2.0 (#6972)
* Adds threebox controller

* Adds threebox approval modal

* Fix unit tests and lint after addition of threebox

* Correct threebox behaviour after rejecting request for backup; fixes e2e tests.

* Update threebox controller for automatic syncing

* Ensure frontend locale updates when preferences are changed via direct update within controller

* Add toggle in settings for 3box syncing

* Update threebox controller for latest 3box version

* Delete unnecessary frontend changes for threebox integration

* Backing up address book contacts with threebox

* Update unit tests for 3box-integration additions

* Only enable threebox by default for new wallets

* Mock globals for correct unit tests

* 3box '1.10.2' -> '^1.10.2'

* Correct capilalization on 3Box

* Use log.debug instead of console.log in threebox controller

* Update yarn.lock

* Remove edge build

* Split 3box module into background deps js file

* extra bundle opts for bg-libs

* sync yarn.lock

* new3Box logic

* Show confirm threebox restore after import

* Remove bg-libs.js from manifest file for dev builds

* Switch 3Box controller to using the spaces api (instead of the profile api)

* Finalize switching to spaces api and only restoring from 3box after import

* Update metamask-controller-test.js for threebox controller changes

* Make threebox modal style consistent with others and update success button wording

* Use mock 3box when in test

* Correct 3box modal header

* Remove unnecessary property of threebox controller provider

* Remove unnecessary method calls after restoration from 3box in the threebox-restore-confirm modal.

* Replace setThreeBoxSyncingPermission calls in routes/index.js with turnThreeBoxSyncingOn

* Replace erroneous use of  with

* Replace erroneous use of threeboxSyncing with threeBoxSyncingAllowed in advancted-tab directory

* Lint fixes for 3box changes

* Log errors encountered when updating 3Box

* Remove unnecessary parameter from state update

* Add timeout to initial 3Box sync

The initial 3Box sync will now timeout after 1 minute. If the timeout
is triggered, 3Box is disabled and cannot be re-enabled unless the
initial sync does finally finish. If it never finishes, 3Box cannot
be enabled unless the extension is reinstalled.

The Advanced Settings page was updated to show this option as disabled
in that circumstance, with a new discription explaining why it's
disabled. The UI here could certainly be improved.

Additionally, "on" and "off" labels were added to the toggle to match
the other toggles on the Advanced Settings page.

* Use non-minified 3Box module

We had previously used the minified 3Box module to avoid a build error
encountered when `envify` was processing the `libp2p` module (which is
used by 3Box). The build would fail because `esprima` (used by `envify`)
is incompatible with the object spread/rest operator (which is used in
`libp2p`).

That issue has been solved by adding a global Babelify transformation
specifically for transpiling out the object rest/spread operator from
dependencies. It has been targetted to only affect `libp2p` to avoid
extending the build time too much. This workaround can be used until
a new version of `esprima` is released that includes this bug fix.

* Use app key addresses for threebox

* Replace use of modal for confirming 3box restoration with a home notification

* Adds e2e tests for restoring from threebox

* Update eth-keyring-controller to 5.1.0

* Correct parameters passed to getAppKeyAddress in threebox.js

* Add prefix to origin passed to getAppKeyAddress in threebox.js

* Remove unused locale message.

* Prevent CORS errors in firefox e2e tests

* Ensure extraneous scripts are excluded from the local test dev build

* Move threeBoxLastUpdate state from home.component to redux

* Threebox PR code cleanup

* Always use first address when initializing threebox

* Replace setRestoredFromThreeBox api with setRestoredFromThreeBoxToFalse and setRestoredFromThreeBoxToTrue

* Update development/metamaskbot-build-announce.js to include ui-libs and bg-libs in hard coded bundle list

* Update test/e2e/threebox.spec.js to use new helpers added with pull #7144

* Make setFeatureFlag available on the ui window during testing

* Hide threebox feature behind a feature flag that can only be activated via dev console

* Remove unnecessary migration of threebox feature flag

* Prevent this.init() call in threebox constructor if feature flag is not turned on

* Prevent threebox notification from showing if feature flag is falsy

* http://localhost/8889 -> http://localhost/* in gulp manifest:testing tasks
2019-09-16 14:41:01 -02:30
kumavis
8eb3e4705a lint fix 2019-09-11 00:11:49 +08:00
kumavis
b2e1f14039 test:e2e - fix bail condition 2019-09-10 23:45:43 +08:00
kumavis
ded3b7df62 test:e2e - fix responsie argument 2019-09-10 23:43:59 +08:00
kumavis
d2376ac268 test:e2e - refactor missed spec file 2019-09-10 23:43:41 +08:00
kumavis
17e7b1a8cb test:e2e - only overwrite window.fetch once per session 2019-09-10 23:10:24 +08:00
kumavis
43007555bd test:e2e - rework fetch-mocks 2019-09-10 23:04:03 +08:00
kumavis
581763d510 test:e2e - add extra delay before closing popups 2019-09-10 21:05:03 +08:00
kumavis
95b1cfd282 test:e2e - factor out prepareExtensionForTesting 2019-09-10 21:05:03 +08:00
kumavis
3afd69b3ec test - e2e - dedupe fetchMocking + compose script as fn 2019-09-10 21:05:03 +08:00
Dan J Miller
7af902e500
Make chainId available in the metamask-inpage-provider (#7110)
* Make chainId available in the metamask-inpage-provider

* Update metamask-inpage-provider to 2.1.0

* Add e2e tests for ethereum.on events

* Move chainId constants to lib/enums.js

* Don't use new chainId enums in createInfuraClient

* Fix app/scripts/lib/select-chain-id.js
2019-09-09 22:01:34 -02:30
Mark Stacey
daa20b4b63
Return after rejecting promise in action (#7079)
* Add missing test descriptions

* Fix async tests that expect a rejection

These tests expected the function under test to return a rejected
promise, and had assertions to be run in the `catch` clause. However,
the tests would still pass if the function didn't reject, with
the assertions never being run.

The tests have been updated to fail if the function doesn't throw.

* Handle ignored promise rejection

In the case where `forceUpdateMetamaskState` rejects, the function
`setSeedPhraseBackedUp` would never resolve. It has been updated to
pass along the rejection instead.

* Return after rejecting promise in action

A few actions would continue after encountering an error, resulting in
errors being compounded. Instead all actions will now return after
encountering an error (which it looks like was the intention in these
cases anyway).
2019-08-31 13:34:27 -03:00
Whymarrh Whitby
e321feb92d
Fix Firefox e2e test command on CI (#7000)
* Skip a few Firefox tests to get them passing again
* ci: Fix Firefox e2e test command

This is my bad, introduced in 7fc84f3cc0
2019-08-13 10:27:18 -02:30
Mark Stacey
14e31cb9be
Allow overriding GANACHE_ARGS for e2e tests (#6970)
This allows the environment variable `GANACHE_ARGS` to override the
default set of optional flags used. By default, the flag `--quiet` is
set. Setting `GANACHE_ARGS` will override the default.

For example, you can now run the e2e tests without the `--quiet` flag
by running this:

```bash
GANACHE_ARGS='' yarn test:e2e:chrome
```

This change also prevents the arguments from being needlessly repeated.
Previously this script accidentally build up `GANACHE_ARGS`, adding to
the set of flags used with each change in arguments.

This PR is based upon #6870
2019-08-07 08:52:05 -03:00
Dan J Miller
010e3927da
Show seed phrase challenge in browser (#6961)
* Open backup challenge screen, prompted from notification, in browser window

* Remove no longer used showingSeedPhraseBackupAfterOnboarding related code

* Make incremental-security.spec.js click through the seed phrase success screen
2019-08-06 00:54:19 -02:30
Dan J Miller
165f44d3a4
Address book name save fix (#6945)
* Fix address book name saving and ens input errors on good inputs on unsupported networks

* Add initial e2e test for address book send flow.

* No longer need to click recipient row in e2e tests

* Click write button in address book e2e test on seed confirm screen

* Use correct seed phrase and private key in address-book.spec tests
2019-08-02 20:30:50 -02:30
Dan J Miller
9d5be5d29f
New notification fixes (#6955)
* Replace use of backup-notification with use of home notification

* Pin notifications relative to window

* Remove unneeded isRequired condition on some home.component properties

* Refactor rendering of home notifications

* UX for multiple notifications

* Adds dismissal to provider request notification.

* Fix test failures

The e2e tests have been updated to reference `home-notification`
classnames instead of the removed `background-notification`. The
active tab proptypes and default values were updated as well.
2019-08-02 18:01:26 -02:30
Mark Stacey
a6d4725e5c
Fix incremental security e2e test (#6948) 2019-08-02 11:52:18 -02:30
Christopher Cooper
b7eae4ba80 split AccountDetails into a separate component (#6943) 2019-08-02 10:06:31 -02:30
Dan J Miller
3eff478775
I5849 incremental account security (#6874)
* Implements ability to defer seed phrase backup to later

* Adds incremental-security.spec.js, including test dapp that sends signed tx with stand alone localhost provider

* Update metamask-responsive-ui for incremental account security changes

* Update backup-notification style and fix responsiveness of seed phrase screen

* Remove uneeded files from send-eth-with-private-key-test/

* Apply linguist flags in .gitattributes for send-eth-with-private-key-test/ethereumjs-tx.js

* Improve docs in controllers/onboarding.js

* Clean up metamask-extension/test/e2e/send-eth-with-private-key-test/index.html

* Remove unnecessary newlines in a couple first-time-flow/ files

* Fix import of backup-notification in home.component

* Fix git attrs file
2019-08-02 01:27:26 -02:30
Whymarrh Whitby
4d88e1cf86 Enable indent linting via ESLint (#6936)
* Enable indent linting via ESLint

* yarn run lint:fix
2019-07-31 10:17:11 -10:00
Dan J Miller
e9c7df28ed
Address book send plus contact list (#6914)
* Style Send Header

* Move Send to-row to send view and restyle

* Add "Recents" group to select recipient view

* Rename SendToRow to AddRecipient

* Basic UI and Layout

* New ENSInput component

* wip - fuzzy search for input

* small refactor

* Add Dialog

* contact list initial

* initial error on invalid address

* clean up edit

* Click to open modal

* Create AddToAddressBookModal component

* Modal styling and layout

* modal i18n

* Add to Addressbook

* ens wip

* ens wip

* ENS Resolution

* Reset input

* Send to explicit address

* Happy Path Complete

* Add back error checking

* Reset send-to when emptying input

* Add back warning object

* Fix linter

* Fix unit test #1 - fix import paths

* Remove dead tests

* One more to go

* Fix all unit tests

* add unit test for reducers and actions

* test rendering AddRecipient

* Add tests for dialog boxes in AddRecipient

* Add test for validating

* Fix linter

* Fix e2e tests

* Token send e2e fix

* Style View Contact

* Style edit-contact

* Fix e2e

* Fix from-import-beta-ui e2e spec

* Make section header say "add recipient” by default

* Auto-focus add recipient input

* Update placeholder text

* Update input title font size

* Auto advance to next step if user paste a valid address

* Ellipsify address when recipient is selected

* Fix app header background color on desktop

* Give each form row a margin of 16px

* Use .container/.component naming pattern for ens-input

* Auto-focus on input when add to addressbook modal is opened; Save on Enter

* Fix and add unit test

* Fix selectors name in e2e tests

* Correct e2e test token amount for address-book-send changes

* Adds e2e test for editing a transaction

* Delete test/integration/lib/send-new-ui.js

* Add tests for amount max button and high value error on send screen to test/e2e/metamask-ui.spec.js

* lint and revert to address as object keys

* add chainId based on current network to address book entry

* fix test

* only display contacts for the current network

* Improve ENS message when not found on current network

* Add error to indicate when network does not support ENS

* bump gaba

* address book, resolve comments

* Move contact-list to its own component

* De-duplicate getaddressbook selector and refactor name selection logic in contact-list-tab/

* Use contact-list component in contact-list-tab.component (i.e. in settings)

* Improve/fix settings headers for popup and browser views

* Lint fixes related to address book updates

* Add 'My accounts' page to settings address book

* Update add new contact button in settings to match floating circular design

* Improve styles of view contact page

* Improve styles and labels of the add-contact.component

* Further lint fixes related to address book updates

* Update unit tests as per address book updates

* Ensure that contact list groups are sorted alphabetically

* Refactor settings component to use a container for connection to redux; allow display of addressbook name in settings header

* Decouple ens-input.component from send context

* Add ens resolution to add contact screen in settings

* Switching networks when an ens address is shown on send form removes the ens address.

* Resolve send screen search for ensAddress to matching address book entry if it exists

* Show resolved ens icon and address if exists (settings: add-contact.component)

* Make the displayed and copied address in view-contact.component the checksummed address

* Default alias state prop in AddToAddressBookModal to empty string

* Use keyCode to detect enter key in AddToAddressBookModal

* Ensure add-contact component properly updates after QR code detection

* Fix display of all recents after clicking 'Load More' in contact list

* Fix send screen contact searching after network switching

* Code cleanup related to address book changes

* Update unit tests for address book changes

* Update ENS name not found on network message

* Add ens registration error message

* Cancel on edit mode takes user back to view screen

* Adds support for memo to settings contact list view and edit screens

* Modify designs of edit and view contact in popup environment

* Update settings content list UX to show split columns in fullscreen and proper internal navigation

* Correct background address book API usages in UI
2019-07-31 17:26:44 -02:30
Mark Stacey
1fd3dc9ecf
Switch from npm to yarn (#6843)
As a solution to the constant lockfile churn issues we've had with
`npm`, the project now uses `yarn` to manage dependencies.

The `package-lock.json` file has been replaced with `yarn.lock`, which
was created using `yarn import`. It should approximate the contents of
`package-lock.json` fairly well, though there may be some changes due to
deduplication. The codeowners file has been updated to reference this
new lockfile.

All documentation and npm scripts have been updated to reference `yarn`
rather than `npm`. Note that running scripts using `npm run` still works
fine, but it seemed better to switch those to `yarn` as well to avoid
confusion.

The `npm-audit` Bash script has been replaced with `yarn-audit`. The
output of `yarn audit` is a bit different than `npm audit` in that it
returns a bitmask to describe which severity issues were found. This
made it simpler to check the results directly from the Bash script, so
the associated `npm-audit-check.js` script was no longer required. The
output should be exactly the same, and the information is still sourced
from the same place (the npm registry).

The new `yarn-audit` script does have an external dependency: `jq`.
However, `jq` is already assumed to be present by another CI script, and
is present on all CI images we use. `jq` was not added to `package.json`
as a dependency because there is no official package on the npm
registry, just wrapper scripts. We don't need it anywhere exept on CI
anyway.

The section in `CONTRIBUTING` about how to develop inside the
`node_modules` folder was removed, as the advice was a bit dated, and
wasn't specific to this project anyway.
2019-07-30 15:36:23 -03:00
Mark Stacey
32fffe53f5
Remove Drizzle tests (#6855)
The Drizzle tests have not been used for some time. They were used to
ensure compatibility with newer versions of `web3` v1. If we want to
re-add tests to ensure compatibility with newer `web3` versions, we
should find some way of doing that more reliably than was done here -
these tests were somewhat flaky and unreliable.
2019-07-15 17:10:46 -03:00
Thomas Huang
96a12a627e
Merge pull request #6832 from MetaMask/master-rebased
Master rebased
2019-07-12 10:58:19 -07:00
Whymarrh Whitby
caa40912ac
Replace deprecated shell-parallel with concurrently (#6807)
* Replace shell-parallel with concurrently

* Update ganache-cli
2019-07-09 14:09:31 -02:30
Dan J Miller
32a3f5ad7b
Address various UI styling issues (#6744)
* Add loading spinner to pending tx status label.

* Add border around account icon in top right

* Change style of settings toggle buttons; wrap with local components

* Eliminate large space after settings labels when no description

* Remove network form from advanced tab of settings

* Keep new account container height to contents when in full screen
2019-07-08 15:28:35 -02:30
Dan J Miller
05e2120814 Version 6.7.2 gas limit fix (#6786)
* Introduce delay for eth_estimateGas calls with in test

* Add test that fails when gas estimates of contract method calls without gas are too high.

* Get transaction gas data from unApprovedTxs instead of confirmTransaction

* Fix selection of gas data in gas-modal-page-container.container

* Lint changes related to Version-6.7.2-gasLimitFix

* Fix e2e tests on Version-6.7.2-gasLimitFix

* Fix unit and integration tests for changes from Version-6.7.2-gasLimitFix

* more e2e fixes

* Add assertions for transaction values on confirm screen

* Fix display of transaction amount on confirm screen.
2019-07-04 14:14:03 -02:30
Whymarrh Whitby
5737df249d
Move e2e tests out of beta dir (#6785) 2019-07-02 23:19:59 -02:30
Akshit Kr Nagpal
687984a938 Added Confirmation Modal for Delete Network (#6776) 2019-07-02 09:43:02 -02:30
Dan Miller
0e108db3cc Adds e2e tests that fail when token decimals are displaying incorrectly. 2019-06-28 01:51:33 -03:00
Dan J Miller
18179fd345 Add delete to custom RPC form (#6718, #6650) 2019-06-17 11:35:47 -02:30
Dan J Miller
c043132b00
Adds e2e test for removing imported accounts. (#6615) 2019-05-15 14:10:11 -02:30
Dan J Miller
b81c4e5c98 Set a default value for code in _determineTransactionCategory (#6604)
* Set a default value for code in _determineTransactionCategory

* Adds e2e tests that fail when token txs without gas param are not properly handled.

* Adds unit tests for _determineTransactionCategory

* Base error throwing and simple gas setting in estimateTxGas on transactionCategory
2019-05-14 14:14:07 -04:00
Dan J Miller
13be683701
New settings custom rpc form (#6490)
* Add networks tab to settings, with header.

* Adds network list to settings network tab.

* Adds form to settings networks tab and connects it to network list.

* Network tab: form adding and editing working

* Settings network form properly handles input errors

* Add translations for settings network form

* Clean up styles of settings network tab.

* Add popup-view styles and behaviour to settings network tab.

* Fix save button on settings network form

* Adds 'Add Network' button and addMode to settings networks tab

* Lint fix for settings networks tab addition

* Fix navigation in settings networks tab.

* Editing an rpcurl in networks tab does not create new network, just changes rpc of old

* Fix layout of settings tabs other than network

* Networks dropdown 'Custom Rpc' item links to networks tab in settings.

* Update settings sidebar networks subheader.

* Make networks tab buttons width consistent with input widths in extension view.

* Fix settings screen subheader height in popup view

* Fix height of add networks button in popup view

* Add optional label to chainId and symbol form labels in networks setting tab

* Style fixes for networks tab headers

* Add ability to customize block explorer used by custom rpc

* Stylistic improvements+fixes to custom rpc form.

* Hide cancel button.

* Highlight and show network form of provider by default.

* Standardize network subheader name to 'Networks'

* Update e2e tests for new settings network form

* Update unit tests for new rpcPrefs prop

* Extract blockexplorer url construction into method.

* Fix broken styles on non-network tabs in popup mode

* Fix block explorer url links for cases when provider in state has not been updated.

* Fix vertical spacing of network form

* Don't allow click of save button on network form if nothing has changed

* Ensure add network button is shown in popup view

* Lint fix for networks tab

* Fix block explorer url preference setting.

* Fix e2e tests for custom blockexplorer in account details modal changes.

* Update integration test states to include frequentRpcList property

* Fix some capitalizations in en/messages.json

* Remove some console.logs added during custom rpc form work

* Fix external account link text and url for modal and dropdown.

* Documentation, url validation, proptype required additions and lint fixes on network tab and form.
2019-05-09 14:57:14 -02:30
Whymarrh Whitby
094e4cf555 Check for unused function arguments (#6583)
* eslint: Check for unused function arguments

* eslint: Ignore unused '_' in argument list

Also allow any number of '_' e.g., '__' or '___' which is to be used sparingly

* Remove and rename unused arguments
2019-05-08 15:51:33 -04:00
Chi Kei Chan
d8b536982e
Update confirm to use btn-primary (#6473)
* Update confirm to use btn-primary

* Remove console

* Fix e2e test
2019-04-17 13:34:47 -07:00
Sneh Koul
fb22fb12ca Adds e2e test for most web3 methods that dapps use (#6160)
* schema added

* ui for the dapp added and schema.js changed according to the comments in PR

* added tests for all web3 methods

* Update run-all.sh

* Update web3.spec.js to work with new onboarding flow

* changes made according to the comments

* Create stand alone script for web3 e2e tests.

* Lint fixes for web3 e2e tests.
2019-04-16 15:29:11 -02:30
Dan J Miller
19c2b298f1
Further e2e fixes in wake of #6364 and #6367 (#6374)
* getMethodData() default to abi decoded method if registry lookup errors

* Update e2e tests to work with getMethodData() fallback changes

* Remove indeterminency in gas input key entering in send token e2e test.
2019-03-29 12:18:08 -02:30
Whymarrh Whitby
3113114d51 Split e2e run-all commands onto multiple lines 2019-03-29 11:15:01 -02:30
Dan Miller
5a1545b3e4 Run from-import e2e tests with additional account, to avoid conflict with accounts in earlier test runs 2019-03-29 11:13:39 -02:30
Dan Miller
d927a3c20a Use localhost instead of mainnent/infura for custom rpc tests in e2e tests. 2019-03-29 11:13:39 -02:30
Whymarrh Whitby
99f53f5827 e2e: Update Contract Interaction wording 2019-03-29 11:13:20 -02:30
Whymarrh Whitby
643ddcb7d7 e2e: Skip approving token test 2019-03-29 11:13:09 -02:30
Whymarrh Whitby
dfe8287a28 e2e: Remove Privacy mode toggle step 2019-03-28 18:20:37 -02:30
Dan Miller
3aa7693103 Retry transaction list item click in 'adds multiple transactions' tests first click fails. 2019-03-28 16:20:11 -02:30
Dan Miller
10097b6a11 Default to localhost network when running e2e tests 2019-03-28 16:20:11 -02:30
Dan Miller
a44f2bb6eb Use webRequest to cancel all requests to infura in e2e tests. 2019-03-28 16:20:11 -02:30
Thomas Huang
1859de0a28 E2E - Dont close window notifications (#6349)
* Dont close window notifications

* Remove commented out lines in beta spec
2019-03-26 11:54:01 -02:30
Dan J Miller
961ad267df
New settings page rebased (#6333)
* New setting tab

* Add InfoTab

* Add Advanced tab

* Add Security Tab

* Finish mobile view

* Make new setting page responsive

* Fix linter

* Fix y scrolling

* Update link in network dropdown

* Fix e2e tests

* Remove duplicate translation key

* Resolve merge conflict

* Only change settings header in popup view.

* Place mobile-sync button in advanced-tab of settings
2019-03-25 13:43:23 -02:30
Dan J Miller
c757366355
Metametrics (#6171)
* Add metametrics provider and util.

* Add backend api and state for participating in metametrics.

* Add frontend action for participating in metametrics.

* Add metametrics opt-in screen.

* Add metametrics events to first time flow.

* Add metametrics events for route changes

* Add metametrics events for send and confirm screens

* Add metametrics events to dropdowns, transactions, log in and out, settings, sig requests and main screen

* Ensures each log in is measured as a new visit by metametrics.

* Ensure metametrics is called with an empty string for dimensions params if specified

* Adds opt in metametrics modal after unlock for existing users

* Adds settings page toggle for opting in and out of MetaMetrics

* Switch metametrics dimensions to page level scope

* Lint, test and translation fixes for metametrics.

* Update design for metametrics opt-in screen

* Complete responsive styling of metametrics-opt-in modal

* Use new chart image on metrics opt in screens

* Incorporate the metametrics opt-in screen into the new onboarding flow

* Update e2e tests to accomodate metametrics changes

* Mock out metametrics network requests in integration tests

* Fix tx-list integration test to support metametrics provider.

* Send number of tokens and accounts data with every metametrics event.

* Update metametrics event descriptor schema and add new events.

* Fix import tos bug and send gas button bug due to metametrics changes.

* Various small fixes on the metametrics branch.

* Add origin custom variable type to metametrics.util

* Fix names of onboarding complete actions (metametrics).

* Fix names of Metrics Options actions (metametrics).

* Clean up code related to metametrics.

* Fix bad merge conflict resolution and improve promise handling in sendMetaMetrics event and confrim tx base

* Don't send a second metrics event if user has gone back during first time flow.

* Collect metametrics on going back from onboarding create/import.

* Add missing custom variable constants for metametrics

* Fix metametrics provider

* Make height of opt-in modal responsive.

* Adjust text content for opt-in modal.

* Update metametrics event names and clean up code in opt-in-modal

* Put phishing warning step next to last in onboarding flow

* Link terms of service on create and import screens of first time flow

* Add subtext to options on the onboarding select action screen.

* Fix styling of bullet points on end of onboarding screen.

* Combine phishing warning and congratulations screens.

* Fix placement of users if unlocking after an incomplete onboarding import flow.

* Fix capitalization in opt-in screen

* Fix last onboarding screen translations

* Add link to 'Learn More' on the last screen of onboarding

* Code clean up: metametrics branch

* Update e2e tests for phishing warning step removal

* e2e tests passing on metametrics branch

* Different tracking urls for metametrics on development and prod
2019-03-05 12:15:01 -03:30
Dan J Miller
cb2698d20e First time flow updates (#6192)
* Action select step of onboarding flow added.

* Update navigation on create and import password screens.

* Adds terms of service checkbox to create and import account screens.

* Add security warning to jazzicon intro step

* Update and streamline unique image to confirm seed steps of first time flow.

* UI touch ups to welcome screen.

* UI touch up on select action page

* Fix first time import flow.

* Add end of flow screen to first time flow

* Replace unique image screen with updated fishing warning screen.

* Update e2e tests for onboarding flow changes.

* Add required translations to onboarding flow.

* Update design of select action screen to emphasize create new wallet option.

* Clean up onboarding flow code.

* Remove notice related code from first-time-flow directory.

* Use updater function argument in new-account.component
2019-02-27 11:16:41 -03:30
Chi Kei Chan
a2320c76fe Show/Hide Fiat on Testnets based on User Preference (#6153) 2019-02-26 15:00:41 -03:30
Dan J Miller
f7ab4577f6 Adds tests for advanced gas controls on confim screen (#6144) 2019-02-13 10:33:14 -03:30
Whymarrh Whitby
0972e23dcd Add e2e tests adjusting gas before sending 2019-02-08 15:44:45 -03:30
Thomas Huang
4c16f4baee e2e: Use close instead of save for gas modal (#6066) 2019-01-30 10:30:14 -03:30
Dan Miller
bf4b6770a0 Fix bugs in e2e tests related to gas customization inputs. 2019-01-24 19:31:30 -03:30
Alexander Tseung
fba17d77de Refactor first time flow, remove seed phrase from state (#5994)
* Refactor and fix styling for first time flow. Remove seed phrase from persisted metamask state

* Fix linting and tests

* Fix translations, initialization notice routing

* Fix drizzle tests

* Fix e2e tests

* Fix integration tests

* Fix styling

* Fix migration naming from 030 to 031

* Open extension in browser when user has not completed onboarding
2019-01-23 11:55:34 -03:30
Whymarrh Whitby
4d4d4caf78 Clean up drizzle test runner script 2019-01-04 10:30:08 -03:30
Whymarrh Whitby
35fbddc5e7 Revert "remove error flags from drizzle setup"
This reverts commit 938f4286e4.
2019-01-04 08:58:41 -03:30
Bruno Barbieri
c349bbdece
remove --unsafe-perm 2019-01-02 17:28:26 -05:00
Bruno Barbieri
3112d5b5c0
no globals 2019-01-02 17:17:44 -05:00
Bruno Barbieri
d504c075d5
Use sudo consistently 2019-01-02 16:29:33 -05:00
Bruno Barbieri
3a75571da2
--unsafe-perm ? 2019-01-02 16:18:24 -05:00
Bruno Barbieri
58b0a4c8f4
Dont use sudo to install truffle 2018-12-31 16:16:34 -05:00
Dan Miller
1145a0a9ad Ensures that advanced tab gas limit reflects tx gas limit 2018-12-12 12:00:57 -03:30
Dan J Miller
1fbdce8916 Improve ux for low gas price set (#5862)
* Show user warning if they set gas price below safelow minimum, error if 0.

* Properly cache basic price estimate data.

* Default retry price to recommended price if original price was 0x0

* Use mock fetch in send-new-ui integration tests.
2018-12-10 13:51:00 -08:00
Dan Miller
7f2c5c09de Uses more reliable api on main send screen; caches basic api results in modal 2018-12-04 00:06:22 -03:30
Dan Miller
a8259f7f6a Update e2e tests for new gas customization modal. 2018-12-04 00:06:22 -03:30
Whymarrh Whitby
34da38817a Update e2e tests to handle any post-install window creation 2018-11-27 09:52:51 -03:30
Whymarrh Whitby
ec4c93c59f Add JSDoc to closeAllWindowHandlesExcept e2e helper fn 2018-11-27 09:52:51 -03:30
Bruno Barbieri
ae8626eceb
Merge pull request #5797 from MetaMask/trezor-v6
Add Firefox and Brave support for Trezor
2018-11-21 14:45:55 -05:00
brunobar79
9b1df386de fix merge conflicts 2018-11-20 17:44:28 -05:00
Whymarrh Whitby
2902fa948f Add timeout to waitUntilXWindowHandles e2e helper fn 2018-11-20 14:04:50 -03:30
Whymarrh Whitby
921125b7fd Update new UI e2e tests for new UI default 2018-11-20 14:04:50 -03:30
Alexander Tseung
4c87c05a02
Fix rounding issue when sending max tokens (#5695)
* Fix rounding issue when sending max tokens

* Ensure amount row shows exact amount of max tokens on send screen (#2)

* Fix tests

* Change stored redux value from BigNumber to hex string. Fix TokenInput default value
2018-11-19 16:06:34 -08:00
brunobar79
c0557b43e2 clean up 2018-11-15 00:34:49 -05:00
brunobar79
938f4286e4 remove error flags from drizzle setup 2018-11-14 17:41:49 -05:00
brunobar79
4dbc0926c6 test 2018-11-14 17:33:10 -05:00
brunobar79
517f6e656a test 2018-11-14 17:10:20 -05:00
brunobar79
59b089b5bb test 2018-11-14 17:01:39 -05:00
brunobar79
b54ed05306 try with custom box 2018-11-14 16:35:01 -05:00
brunobar79
484aa6801e Merge branch 'develop' into trezor-v5 2018-11-13 17:21:15 -05:00
PaddyMc
7ce2cf4572 Fixes #3425: Better support for batch transactions (#5437) 2018-11-13 13:49:12 -03:30
Thomas Huang
782c2c14d4
Merge pull request #5674 from MetaMask/responsive-e2e-tests
e2e tests for responsive behaviour
2018-11-09 11:01:38 -08:00
Dan Miller
fd1647965f Moves e2e tests for extension only behaviour to metamask-beta-responsive-ui.spec 2018-11-08 07:59:32 -03:30
brunobar79
c651212025 fix merge conflicts 2018-11-06 20:21:19 -05:00
brunobar79
62ac993b9a fix typo 2018-11-06 19:22:47 -05:00
brunobar79
6daf749251 update drizzle tests 2018-11-06 19:08:23 -05:00
Whymarrh Whitby
26ada8a828 Update Connect Request screen design (#5644)
* Parameterize NetworkDisplay background colour

* Update design for login request screen

* Pass siteTitle, siteImage through for calls to ethereum.enable()

* Bring the site images closer together
2018-11-05 15:07:09 -08:00
bitpshr
c6e9caed22 Fix beta e2e tests 2018-11-05 15:07:09 -08:00
bitpshr
473afa68a1 Cleanup after rebase 2018-11-05 15:07:09 -08:00
bitpshr
226601a956 EIP-1102: add user privacy option 2018-11-05 15:07:09 -08:00
bitpshr
c76c9ca2c8 EIP-1102: updated implementation 2018-11-05 15:07:09 -08:00
kumavis
802df4625f
Merge pull request #5570 from alextsg/i5558-account-display-width
Fix account display width for large currency values
2018-10-21 10:45:55 -04:00
Alexander Tseung
614995c0e9 Fix account display width for large currency values 2018-10-21 22:01:20 +08:00
brunobar79
baa3af46f3 install truffle globally 2018-10-21 05:35:37 -04:00
brunobar79
9c1b2108f6 fix merge conflicts 2018-10-21 01:59:53 -04:00
Whymarrh Whitby
42fa54678f Extract Add Token button into its own component 2018-10-17 15:49:29 -02:30
Alexander Tseung
badebe017f
Adds toggle for primary currency (#5421)
* Add UnitInput component

* Add CurrencyInput component

* Add UserPreferencedCurrencyInput component

* Add UserPreferencedCurrencyDisplay component

* Add updatePreferences action

* Add styles for CurrencyInput, CurrencyDisplay, and UnitInput

* Update SettingsTab page with Primary Currency toggle

* Refactor currency displays and inputs to use UserPreferenced displays and inputs

* Add TokenInput component

* Add UserPreferencedTokenInput component

* Use TokenInput in the send screen

* Fix unit tests

* Fix e2e and integration tests

* Remove send/CurrencyDisplay component

* Replace diamond unicode character with Eth logo. Fix typos
2018-10-17 07:03:29 +08:00
brunobar79
13820b6cc1 fix conflicts 2018-10-16 14:01:54 -04:00
Bruno Barbieri
ccab4ee1a4 tests - integration - Add Drizzle tests (#5467)
* added drizzle app for testing

* working

* clean up

* clean up script

* make build step required

* add drizzle-tests to .eslintignore

* clean up drizzle run script

* lint

* use truffle unbox

* undo eslintignore changes

* revert change

* dont use global

* dont need this steps

* use the new account flow

* restore package-lock.json
2018-10-10 01:12:43 -04:00
Santiago Gonzalez Toral
f88373237b Added account options on home screen 2018-10-09 19:43:41 -07:00
Whymarrh Whitby
08b3f41ecd Fix error message shown in assertElementNotPresent e2e helper fn 2018-10-01 12:28:24 -02:30
Whymarrh Whitby
b7946928fd Don't log errors extraneously in e2e tests 2018-10-01 12:28:00 -02:30
Whymarrh Whitby
9f2d074f9e Update e2e tests for adding mutliple custom RPC endpoints
Refs 56965b3
Refs #5267

The list of custom RPC endpoints is no longer limited to 3 entries
so the test is now to confirm that they _all_ show up.
2018-10-01 12:24:32 -02:30
Whymarrh Whitby
5beab87bf6 Switch string concatenation to template string 2018-10-01 12:23:53 -02:30
Paul Bouchon
88b5f82e13 Bugfix: Upgrade json-rpc-engine (#5348)
* Bugfix: bump version of json-rpc-engine

* Increase delay

* Update lockfile

* deps - json-rpc-engine@3.7.4
2018-09-25 21:16:01 -07:00
Alexander Tseung
b579ee9619 Refactor settings page to use JSX and follow component file folder structure 2018-09-19 16:37:23 -07:00
Alexander Tseung
c18c0e1c30 Fix tests. Add className to Identicon ethLogos. 2018-09-12 19:48:52 -07:00
brunobar79
8ee01f4e99 Merge branch 'develop' of github.com:MetaMask/metamask-extension into trezor-v5 2018-09-05 16:26:09 -04:00
Alexander Tseung
c0e97d1739 Fix tests 2018-08-23 19:19:48 -07:00
Alexander Tseung
2d76ee754b Reduce large timeouts 2018-08-23 16:45:28 -07:00
Alexander Tseung
bdfd54ec54 Increase e2e timeouts for firefox 2018-08-23 16:45:28 -07:00
Alexander Tseung
eb17151ff4 Change "Outgoing" to "Sent Ether" or "Sent Token" 2018-08-23 16:45:28 -07:00
Alexander Tseung
c06a0be486 Fix Firefox e2e tests 2018-08-23 16:45:28 -07:00
Alexander Tseung
6670bc0e09 Fix e2e tests 2018-08-23 16:45:27 -07:00
Alexander Tseung
5dcd8ceb7b Fix e2e tests 2018-08-23 16:45:27 -07:00
Alexander Tseung
c9ec5ed38d Fix e2e tests 2018-08-23 16:45:27 -07:00
Alexander Tseung
13c4ecd610 Fix tests 2018-08-23 16:45:27 -07:00
Evgeniy Filatov
b23cca1469 implemented improvements to RPC history 2018-08-23 01:18:13 +03:00
Alexander Tseung
01c0c98501 Add tabs support for PageContainer 2018-08-22 14:12:01 -07:00
brunobar79
90886c5e05 Merge branch 'develop' of github.com:MetaMask/metamask-extension into trezor-v5 2018-08-21 15:58:29 -04:00
Dan Miller
9bd0ce46e8 Remove unnecessary checks and user actions in metamask-beta-ui.spec 2018-08-21 14:45:27 -02:30
Dan Miller
1718b83d20 Run ganache with a blocktime flag for npm:run:ganache:start. 2018-08-21 13:47:42 -02:30
brunobar79
ab7eb73ecc fix merge conflicts 2018-08-20 21:51:35 -04:00
brunobar79
992e7f1b5a fix merge conflicts 2018-08-17 12:56:07 -04:00
brunobar79
b369560569 fix e2e tests 2018-08-16 20:59:11 -04:00
brunobar79
42834fe8be fix e2e tests 2018-08-10 13:11:49 -04:00
brunobar79
286bde606f fix merge conflicts 2018-08-08 14:30:49 -04:00
Whymarrh Whitby
d1435fb883 Switch superstatic for static-server pkg 2018-08-06 15:47:57 -02:30
Dan Miller
7de2a0687d Fix seed word confirmation step of e2e beta tests. 2018-08-06 12:14:06 -02:30
Dan Miller
aff66f4b07 Use unmodified constant for test delay in from-import-beta-spec. 2018-08-06 11:07:16 -02:30
Dan Miller
74e2225f36 Improve waits for new tx-list-items after first contract method call in e2e beta tests. 2018-08-06 11:07:16 -02:30
Whymarrh Whitby
0fd8862c5e Don't show an additional beta UI notification
When a user has opted-in to the new UI from the announcement, we don't
need an additional notification letting the user know that they've
switched.
2018-07-28 11:59:51 -02:30
Dan Miller
07c0cd59d4 New ui e2e tests switch to localhost provider (needed after new ui selection screen addition). 2018-07-28 11:59:51 -02:30
Dan Miller
30d92b8d3f Fix e2e tests to accomodate new ui suggestion screen changes. 2018-07-28 11:59:51 -02:30
Dan Miller
cb8ea12db6 Updates e2e beta tests to ensure that popup window closes after confirming a simple send. 2018-07-24 11:24:36 -02:30
Bruno Barbieri
9be2248d7a
Merge pull request #4625 from MetaMask/initial-trezor-support
Initial trezor support
2018-07-19 15:00:59 -04:00
brunobar79
cbb14f1d5e fix browser not supported screen 2018-07-17 21:57:19 -04:00
brunobar79
aa5a987765 added some e2e tests 2018-07-17 21:54:04 -04:00
Alexander Tseung
e16f5ab54d Fix tests 2018-07-17 13:38:15 -07:00
Dan
07322bc404 Wait for an element with a .tx-list-pending-item-container to be rendered before attempting to select the tx-list-item. (e2e beta tests) 2018-07-11 15:47:17 -02:30
Dan
05ee2b7401 Reattempt to find network selector; wait for network selector dropdown to contain localhost before attempting to click. (e2e beta tests) 2018-07-11 15:13:32 -02:30
Dan
8912955765 Wait for submitted tx list item amounts to match the expected before clicking through. (e2e beta tests) 2018-07-11 14:51:58 -02:30
Dan
f81676fda1 Update e2e beta tests to cover confirm refactor changes. 2018-07-11 08:35:06 -02:30
Dan
228b807221 Fix existing e2e tests 2018-07-10 17:18:16 -02:30
Dan
1a0a701de0 Handles window indeterminancy issues for external dapps in e2e beta tests. 2018-07-10 17:18:16 -02:30
Dan
f262f0ea64 Update import from seed screen on new ui. 2018-07-04 21:21:12 -02:30
brunobar79
53f1072ff4 fix contract-test 2018-07-02 22:20:51 -04:00
brunobar79
cb71896a8f fix warnings for e2e tests 2018-07-02 19:51:27 -04:00
brunobar79
a8f745f9fe eslint --fix . 2018-07-02 18:49:33 -04:00
Dan
c5a16af831 Improve checks for closing info page on app installation in e2e beta tests. 2018-06-29 08:56:51 -02:30
Dan
f824a2982a Use supersonic instead of httpserver to serve local dapp (e2e beta tests) 2018-06-28 10:16:36 -02:30
Dan
8a96dc0c48 Turn off failing e2e beta assertion in firefox until bugs in webdriver/geckodriver are resolved. 2018-06-27 14:40:16 -02:30
Dan
0cdfbb4503 Update condition for backspace in customize gas step of token factory send test (e2e beta). 2018-06-27 13:50:44 -02:30
Dan
bec3fa3dbf Fix add existing token test (e2e beta tests). 2018-06-27 12:55:30 -02:30
Dan
669f2437c7 Switch to eth and back before asserting on token balance (e2e beta token tests). 2018-06-27 11:08:57 -02:30
Dan
9cc358a429 await all clicks in e2e beta tests. 2018-06-27 11:08:55 -02:30
Dan
12266b064e Close popup window for e2e beta token factory send test. 2018-06-27 11:08:17 -02:30
Dan
a25f5483d8 Fix retype seed phrase button. 2018-06-27 11:08:17 -02:30
Dan
b029085fbe Disable e2e beta assertion after first token addition because of firefox / webdriver bug. 2018-06-27 11:08:17 -02:30
Dan
6c8f4b2dea Pass correct params to verboseReportOnFailure in beta e2e tests. 2018-06-27 11:08:17 -02:30
Dan
686d14f42d Add timeouts to certain beta e2e driver.waits. 2018-06-27 11:08:17 -02:30
Dan
31bb8a0ab7 Add try catch to deal with false negative timeouts in beta e2e tests. 2018-06-27 11:08:17 -02:30
Dan
a6cb13422d Wait for element text match in metamask-beta-ui e2e send token test 2018-06-27 11:08:17 -02:30
Dan
c343a12543 Use locally served dapp to test contract calls in e2e beta tests 2018-06-27 11:08:15 -02:30
Dan
c1aa193487 Add extra delay to e2e tests after remix page load. 2018-06-27 11:01:26 -02:30
Dan
f5d43404dc Fix send token tests in beta ui e2e tests. 2018-06-27 11:01:26 -02:30
Dan
bdf9cd8e3a Speed up page opening and fix timeout errors on remix page opening in beta e2e tests. 2018-06-27 11:01:26 -02:30
Dan
07970b7cfa Add delay before regularly failing test. 2018-06-27 11:01:26 -02:30
Dan
b7e7209fe6 Fix element located bug in beta e2e contract method call test. 2018-06-27 11:01:26 -02:30
Dan
7d5531d3e8 Improve wait for buy modal render after first time flow in beta e2e tests. 2018-06-27 11:01:26 -02:30
Dan
b64292d92f Update metamask-beta-ui e2e spec to fail on insufficient gas estimation. 2018-06-27 11:01:26 -02:30
Dan
309239afb4 Wait for locating of submit buttons before attempting to click in metamask.spec.js 2018-06-27 11:01:26 -02:30
Dan
13e0b42359 Update tests to accomodate token list menu additions. 2018-06-27 11:01:26 -02:30
Dan
cc61372260 Disable onbeforeunload alert on remix for contract integration tests. 2018-06-27 11:01:26 -02:30
Dan
bf32aeaef2 Adds test for hiding tokens. 2018-06-27 11:01:26 -02:30
Dan
797a3ee686 e2e beta tests for contract deployment and calling a contract method. 2018-06-27 11:01:25 -02:30
Dan
e293233c5e Improve reliability of beta e2e tests by using webdriver apis to wait for certain dom elements. 2018-06-27 11:01:25 -02:30
Dan
1d8f257832 Add test for importing from private key to from-import-beta-ui.spec.js, and remove non-import related tests from that file. 2018-06-27 11:01:23 -02:30
Dan
9734e6ffb8 metamask-beta-ui.spec.js tests custom token send before searched token. 2018-06-27 11:00:42 -02:30
Dan
9cb15d44a0 Adds e2e tests for sending tokens from token factory. 2018-06-27 10:58:55 -02:30
Dan
67894ef2e2 Adds e2e tests for sending tokens within metamask. 2018-06-27 10:58:55 -02:30
Dan
f82e4439d0 Adds e2e tests for sending tokens from token factory. 2018-06-27 10:45:54 -02:30
Dan
73894fb5bd Adds e2e tests for sending tokens within metamask. 2018-06-27 10:45:36 -02:30
Whymarrh Whitby
1509a4393a Accept whitespace when matching token balances in e2e tests 2018-06-20 16:15:22 -02:30
Whymarrh Whitby
4cd4d99e70 Add explicit timeout for add token test 2018-06-20 16:15:22 -02:30
kumavis
c2afb79035 test - e2e-beta - from import - handle phishing warning 2018-06-14 00:52:46 -07:00
kumavis
e95fed06b7 test - e2e-beta - separate notice tests into individual tests 2018-06-14 00:36:14 -07:00
kumavis
564bb9f652 test - e2e - clear phishing warning 2018-06-14 00:23:38 -07:00
kumavis
4b8a4fd5fe test - e2e - check for phishing warning 2018-06-13 23:52:51 -07:00
Whymarrh Whitby
c56ed16891 Fix e2e test Chrome profile paths 2018-06-12 14:11:20 -02:30
Dan
a09d609360 Bump beta e2e timeouts on faucet page. 2018-06-06 22:15:38 -02:30
Dan
72649a0b59 Improve e2e beta tests by adding appropriate waits. 2018-06-06 13:45:08 -02:30
Dan
12e7508584 Conditionally close info page in beta e2e tests. 2018-06-06 07:34:25 -02:30
Dan
3d57352e54 Merge remote-tracking branch 'whymarrh/ci-test-e2e-beta' into ci-test-e2e-beta 2018-06-06 06:48:15 -02:30
Dan
bb4de95f76 Fix e2e beta tests to account for add-token updates and actual behaviour of tab openings on installation. 2018-06-05 22:16:03 -02:30
Whymarrh Whitby
60c06a6440 Adjust delays in new beta e2e tests 2018-06-01 13:31:21 -07:00
Thomas
be6776897f Delay before getting address text 2018-05-29 23:07:45 -07:00
Thomas
f90ad6191c Add account 2018-05-29 18:20:54 -07:00
Whymarrh Whitby
715624227a Add basic e2e tests for the new UI 2018-05-24 23:23:42 -02:30
kumavis
83782421bb test - e2e - only inspect console for errors in chrome 2018-05-21 20:17:46 -07:00
kumavis
a3ca64d321 test - e2e - ignore 'development build of Redux' warning 2018-05-21 19:59:21 -07:00
kumavis
4856c0803f test - e2e - ignore 'development build of React' warning 2018-05-21 19:57:13 -07:00
kumavis
81ff04ec27 test - e2e - ignore favicon 404s 2018-05-21 18:00:22 -07:00
kumavis
db08d8d43e test - e2e - ignore react 'unknown props dataset' warnings 2018-05-21 17:15:05 -07:00
kumavis
9c6e2ec8ef test - e2e - check for console errors after each test 2018-05-21 16:26:38 -07:00
Thomas
f2815d3121 Adjustments for previous PR 2018-05-16 19:12:03 -07:00
Thomas
77e13640b4 Testing timeouts 2018-05-16 15:03:53 -07:00
Thomas
cd42d18203 Merge e2e tests into one 2018-05-14 17:17:36 -07:00
Thomas
d9d528753d Increase timeout 2018-05-10 10:47:48 -07:00
Thomas
c37ad657cd Fix typo 2018-05-10 10:32:41 -07:00
Thomas
60933f1090 Job Screens with Shadow Dom Css selector 2018-05-10 10:24:27 -07:00
Thomas
68bbe18e32 Multistep Shadow Dom Query Selector for local extension id 2018-05-10 09:47:34 -07:00
Thomas
f7a3d8887c Update to extension Id path for new chrome 2018-05-08 07:03:17 -07:00
Thomas
228e06110d Remove waiting for button to be enabled TOU 2018-05-03 16:11:05 -07:00
Thomas
025d8e7983 Merge branch 'e2e-tests' of https://github.com/tmashuang/metamask-extension into e2e-tests 2018-05-03 14:38:49 -07:00
Thomas
1d353c002d Increase timeout for TOU scroll 2018-05-03 14:37:56 -07:00
Thomas
23e1290e27 Add a comment on the confirmation transaction metamask popup showing blank, but button still renders 2018-05-03 14:18:06 -07:00
Thomas
10baffaf48 Quit chromedriver after test 2018-05-03 14:14:02 -07:00
Thomas
9bba97a676 Reduce delay for installing firefox addon 2018-05-03 13:26:48 -07:00
Thomas
74e36e6f8f Add Timeouts for driver.wait 2018-05-03 13:18:54 -07:00
Thomas
8d9d55fec3 Test wit driver.wait 2018-05-03 13:06:36 -07:00
Thomas
5e688f0781 Delay around the addon install 2018-05-01 15:24:32 -07:00
Thomas
79baa37f31 test increase timeout 2018-05-01 14:53:17 -07:00
Thomas
c08a5d04c4 Async/await installing extension 2018-05-01 12:33:40 -07:00
Thomas
9dfe4f410d Firefox 2018-05-01 12:18:22 -07:00
kumavis
7dde948c45 Merge branch 'master' of github.com:MetaMask/metamask-extension into ci-screens 2018-03-30 13:57:50 -07:00
kumavis
32bb09bcb9 test - e2e - set network to localhost 2018-03-30 13:52:42 -07:00
kumavis
b49ad750dd Merge branch 'master' of github.com:MetaMask/metamask-extension into ci-artifacts 2018-03-29 16:54:00 -07:00
kumavis
971204eb06
Merge branch 'master' into e2e-selector 2018-03-29 13:57:43 -07:00
kumavis
552fb1fabe test - e2e - fix selector with extra div (?) 2018-03-29 13:54:01 -07:00
kumavis
2328b120da test - e2e - generate artifacts on test failure 2018-03-29 13:49:54 -07:00
Thomas
53172f1b55 Better delays and fix logout css selector 2018-03-29 12:06:23 -07:00
kumavis
830b232cb9 test - e2e - prefer css selectors over xpath 2018-03-29 11:59:13 -07:00
kumavis
5834c13769 ui - change window title 'MetaMask Plugin' to 'MetaMask' 2018-03-28 13:37:02 -07:00
Thomas
a62fe4f7ea Update selenium tests 2018-03-09 23:57:44 -08:00
Thomas
0db4ba1086 chromedriver, changed extension id(might need zip/crx file) 2018-01-18 08:10:53 -08:00
tmashuang
a79b4db06a E2E testing with selenium 2017-09-12 14:14:24 -07:00