mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
eadeaa7883
* Add network store for testing An alternative persistent state store has been created for use with e2e tests. Instead of reading state from disk, it tries to load state from a local fixture server running on port `12345` and serving state from the path `/state.json`, and returns a blank state otherwise. * Add e2e test fixture server A fixture server has been added for serving background state, which the background will read upon startup as part of restoring persisted state. The `signature-request` e2e test has been updated to use a fixture to bypass the registration step. The fixture used (`imported-account`) was generated by pausing midway through that test run
37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
# End-to-end tests
|
|
|
|
This directory contains the fixture data used to bootstrap the individual e2e tests. Each sub-directory contains
|
|
one thing:
|
|
|
|
1. A `state.json` file that represents a the saved state for the extension (see _Generating fixture data_ below)
|
|
|
|
## Generating fixture data
|
|
|
|
Fixture data can be generated by loading the unpacked extension, inspecting the background context,
|
|
dumping `chrome.storage.local`, and using [`copy`][1] to copy it to the clipboard, and manually pasting the contents into
|
|
a file on disk.
|
|
|
|
```js
|
|
// Step 1:
|
|
chrome.storage.local.get(null, (x) => console.log(x))
|
|
// Should print something like:
|
|
// > temp1
|
|
// > {data: {…}, meta: {…}}
|
|
|
|
// Step 2:
|
|
// Store the value as a global via the 'Store as global variable' option in context menu (shown below)
|
|
|
|
// Step 3:
|
|
copy(temp1)
|
|
```
|
|
|
|
Store the value as a global variable:
|
|
|
|
<img
|
|
width="840"
|
|
alt="Store as global variable"
|
|
src="https://user-images.githubusercontent.com/1623628/60987884-1a2c4a00-a31d-11e9-932e-b7fab452e6bd.png"
|
|
/>
|
|
|
|
[1]:https://developers.google.com/web/tools/chrome-devtools/console/utilities
|