Comments (3)
investigating also camouflage and mock-socket
from contracts-ui.
after going through all the possibilities, looks like the best way is to use simple stubs
this was handled in 59b0024
other strategies are extremely unperformant / hard to maintain
from contracts-ui.
there are some performance considerations to keep in mind:
- running jest in
node --experimentalVmModules
is slow and leaks memory by itself - jsdom is slower, but we need it
- running a simple test that renders a component without any @PolkaDot dependencies has aprox 200mb heap in our setup, so that's the starting point
- the code that generates the mock data we use for testing has too many computations, increasing the complexity each time it's called (a lot)
- the app is too tightly coupled with the db (app throws errors if db not connected), not possible to delete db after some tests
- tests mount components, no shallow testing, making everything slow. maybe some snapshot testing could be used here and there
- there might be memory leaks in the app itself, possibly from uncleared subscriptions (
subscribeNewHeads
) - another test runner could be tried instead of jest
the memory leaks and heap size were reduced a lot in this PR, but not entirely fixed #90
from contracts-ui.
Related Issues (20)
- (discussion) All the app re-renders when the users change the theme HOT 2
- (discussion) The current React Context providers cause unnecessary rerenders
- Possible E2E tests improvements
- Getting StorageDepositLimitExhausted when uploading sample ink contracts to UI HOT 1
- Syntax Highlighting Missing in Light Theme HOT 1
- Reevaluate dry run result after contract call HOT 1
- Support `AccountId20` HOT 2
- Instantiate dry-run doesn't catch the reversion HOT 2
- New Ink4.2.1 Problem
- Solang contracts will return error data in the future HOT 4
- contracts-ui should not inspect the code contained in a contracts bundle HOT 2
- Incorrect decoded return value of type Vec<(i16,i16)> HOT 2
- Prompt to unlock account when interacting with actual wallet accounts
- Error decoding type HOT 3
- Option<bool> does not work when value is false HOT 4
- Cannot sign tx's with injected wallets on local node HOT 2
- Show contract's native token balance HOT 1
- Import & Export a Deployments File
- Unable to deploy v5 Flipper on Rococo Contracts HOT 1
- Error for the https://contracts-ui.substrate.io// HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from contracts-ui.