Three e2e tests have been updated to fix a possible race condition
causing intermittent e2e test failures.
In each of the updated tests, the test checks the current network.
The check is performed as a two-step process: locate the current
network element, then check the text to ensure it's correct.
This fails when the test driver finds the element before it re-renders.
If the test runs too quickly, it compares the text before the switch
is shown on screen, and the test fails.
Instead the tests use the element locator to describe what they want.
This tells the test driver to keep looking until the conditions are
met, ensuring the test doesn't fail unless the network switch takes
longer than the default timeout (which should not happen).
This is a good example of why we should avoid using assertions on
elements in e2e tests. Express your assertions as locators instead to
make the test more resilient in the case where the test runs before the
next render.
* issue-18714: Replaced deprecated constants with enum in eth-sign-modal.js
* issue-18714: Replaced deprecated constants with enum in hold-to-reveal-modal.js
* Update snap installation permission warning UI
* Fix font size (TextVariant)
* Fix vertical margins between labels
* Update font weight in warning top description
* Update snapName for warning modal on update flow
Currently, all test files are excluded from TypeScript's purview. That
means that if any test file fails to typecheck, we won't know about it.
In fact if we were to remove all test files from the `exclude` list,
then some files would indeed fail to be typechecked.
At the moment all we care about is the unit test file for
NetworkController. Due to how the `include`/`exclude` rules work in
`tsconfig.json`, we can't "un-exclude" that file after it's excluded, so
to fix this, we simply exclude fewer things.
While we're at it, we also:
- Add `esModuleInterop: true` to address warnings we sometimes see
around imports
- Add `noEmit: true` so that we can run `tsc` to test typechecking on
its own without producing any compiled files (so that ESLint doesn't
accidentally pick them up)
- Clean up `tsconfig.json` slightly
* Add new snap header and footer to snap install
* Add new snap header and footer to snap result and snap update
* Fix loading state
* Fix lint
* Add required scrolling
* Adjust avatar component
* Apply new headers and footers to snaps confirmations
* Rename previous SnapAuthorship component to SnapAuthorshipExpanded
* Fix lint
* Fix font weight
* Fix fencing
* Fix a test
* Fix lint after rebase
* Fix E2E
* Fix locale lint
* Fix another E2E
* Fix test ID
* Address PR comments
* Better scroll button centering
* Address design comments
* Fix unit test
* Fix E2Es
In the core version of NetworkController, when the `setActiveNetwork`
method updates the provider configuration object, it will capture the ID
of the network configuration used to do so within the provider config
itself. In the same way, `setProviderType` clears any ID that was
previously set from the provider config.
This commit updates this version of NetworkController to be consistent
and updates tests to match.
* Update UI (for audit)
Revert yarn.lock change
Update e2e tests with new copy for a button
Make UI changes to custom Snap UI
Update UI on snap installation success page
Fix icon on installation success
Fix snap name font weight in installation page
Add UI changes for Snap installation failed page
Add new copy for snap installation screen
Update e2e tests OK button name
Update OK button names in e2e tests
Return previous functionality of update flow
Add error message handling for update screens
* Fix after rebase
* Fix messages.json update message
* Revert SCSS changes
* Refactor failed and success screen rendering
* snaps@0.34.0-flask.1
* Update LavaMoat policies
* Replace instances of targetKey with targetName
* Replace use of PermissionKeys with PermissionNames
* Use Flask packages in tests for now
* Bump execution env
* Add another mock
* Fix lint
In the core version of NetworkController, the `networkDetails` property
is initialized to `{ EIPS: {} }`. It is also reset to this
representation when `refreshNetwork` is called.
In this version of NetworkController, however, the default
representation of `networkDetails` is `{ EIPS: { 1559: undefined } }`.
From a consumer's perspective this doesn't make a difference — it's
practically the same. It does make a slight difference in tests,
however.
With that in mind, this commit changes the default representation to `{
EIPS: {} }`. This makes it easier to visually compare differences in the
NetworkController unit tests between core and this repo.