metamask-extension
metamask-extension copied to clipboard
test: Signature Redesign e2e tests for each supported signature type
Description
Related issues
Fixes: https://github.com/MetaMask/metamask-extension/issues/23977 Blocked By: https://github.com/MetaMask/metamask-extension/issues/24712
Manual testing steps
- set
ENABLE_CONFIRMATION_REDESIGN=truein .metamaskrc - enable Experimental > "Improved signature requests" in settings
- test signatures in test-dapp
Screenshots/Recordings
Before
After
Pre-merge author checklist
- [ ] I’ve followed MetaMask Coding Standards.
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using JSDoc format if applicable
- [ ] I’ve applied the right labels on the PR (see labeling guidelines). Not required for external contributors.
Pre-merge reviewer checklist
- [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 65.70%. Comparing base (
07f1eb4) to head (6e183cb).
Additional details and impacted files
@@ Coverage Diff @@
## develop #24352 +/- ##
===========================================
- Coverage 65.70% 65.70% -0.00%
===========================================
Files 1366 1366
Lines 54361 54361
Branches 14141 14141
===========================================
- Hits 35715 35714 -1
- Misses 18646 18647 +1
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Possible to loom through various signatures, rather than adding a separate spec for each ?
Hi @jpuri, this was a consideration. Discussed this with @pedronfigueiredo and @pnarayanaswamy. We've been leaning towards keeping files per type. I'm open to other considerations. This said, @pnarayanaswamy has created a followup PR to refactor our tests and combine them together here https://github.com/MetaMask/metamask-extension/pull/24424
somehow, this unit test failed in this PR https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/80783/workflows/9be32d3b-80da-41b8-8cfd-1d837f57871b/jobs/2855569
we should double-check this is not a flaky test separately from this PR cc: @jpuri
https://app.circleci.com/jobs/github/MetaMask/metamask-extension/2855977
failing on the chrome-confirmation-redesign builds 🤔
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
at CheckVkSuccessImpl (../../third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:101)
Builds ready [a50557f]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1271 ± 582 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 61 | 124 | 88 | 15 | 7 |
| domContentLoaded | 9 | 22 | 11 | 3 | 1 | ||
| load | 50 | 2915 | 1271 | 1213 | 582 | ||
| domInteractive | 9 | 22 | 11 | 3 | 1 |
Bundle size diffs
- background: 0 Bytes (0.00%)
- ui: 37 Bytes (0.00%)
- common: 0 Bytes (0.00%)
Builds ready [22f1bea]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1133 ± 564 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 69 | 194 | 115 | 37 | 18 |
| domContentLoaded | 9 | 66 | 16 | 15 | 7 | ||
| load | 57 | 2737 | 1133 | 1175 | 564 | ||
| domInteractive | 9 | 65 | 16 | 15 | 7 |
Bundle size diffs
- background: 0 Bytes (0.00%)
- ui: 37 Bytes (0.00%)
- common: 0 Bytes (0.00%)
Builds ready [7ea5ac6]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (805 ± 537 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 66 | 207 | 105 | 33 | 16 |
| domContentLoaded | 9 | 21 | 12 | 3 | 1 | ||
| load | 54 | 2827 | 805 | 1118 | 537 | ||
| domInteractive | 9 | 21 | 12 | 3 | 1 |
Bundle size diffs
- background: 0 Bytes (0.00%)
- ui: 37 Bytes (0.00%)
- common: 0 Bytes (0.00%)
resolved a 1 line merge conflict f53b310acf5dc5fe79cfcdb3c2348f9e5b0e8d16. please rereview @pedronfigueiredo @matthewwalsh0 🙏🏼
Builds ready [f53b310]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (305 ± 320 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 80 | 118 | 98 | 12 | 6 |
| domContentLoaded | 9 | 53 | 17 | 11 | 5 | ||
| load | 67 | 2385 | 305 | 667 | 320 | ||
| domInteractive | 9 | 53 | 17 | 11 | 5 |
Bundle size diffs
- background: 0 Bytes (0.00%)
- ui: 37 Bytes (0.00%)
- common: 0 Bytes (0.00%)
resolved another minor merge conflict fe81382
Builds ready [fe81382]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (112 ± 138 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 68 | 119 | 82 | 10 | 5 |
| domContentLoaded | 9 | 13 | 10 | 1 | 0 | ||
| load | 41 | 1363 | 112 | 287 | 138 | ||
| domInteractive | 9 | 13 | 10 | 1 | 0 |
Builds ready [f3fd7c8]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (68 ± 29 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 71 | 418 | 105 | 73 | 35 |
| domContentLoaded | 8 | 117 | 16 | 23 | 11 | ||
| load | 45 | 325 | 68 | 59 | 29 | ||
| domInteractive | 8 | 117 | 16 | 23 | 11 |
Builds ready [6e183cb]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (116 ± 136 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 70 | 98 | 83 | 8 | 4 |
| domContentLoaded | 9 | 22 | 11 | 3 | 2 | ||
| load | 42 | 1351 | 116 | 283 | 136 | ||
| domInteractive | 9 | 22 | 11 | 3 | 2 |