callstack / callstack/react-native-testing-library
RFC: RNTL Cookbook
- Dominant language
- TypeScript
- Stars
- 3.4k
- Forks
- 281
- PR merge metrics
- No merged PRs in 30d
Description
## RNTL Cookbook
RNTL is feature-complete, so the next big frontier is documenting and sharing best practices so our users can get the most out of using RNTL. Specifically, we could have a significant impact by:
* Describe best practices around common tasks like async tests, network calls,
* Provide ready-made recipes for testing popular libraries like state management, React Navigation
* Provide copy-pastable information about mocking and RNTL setup
I propose creating an RNTL Cookbook. It would be a documentation section where we would gather relatively short "recipes" for handling different concerns, tips & tricks, etc.
### Proposed topics
#### Basic
- [ ] Jest Config
- [x] Custom Render functions #1622
- [x] Testing async code
- [ ] Mocking in general
- [x] Mocking network calls with `fetch`
- [ ] Mocking React Native parts
#### Popular libraries
- [ ] Gesture Handler
- [ ] Reanimated
- [ ] ...
#### Navigation
- [ ] React Navigation
- [ ] Expo Router (?)
#### State management
- [ ] Redux (classic)
- [ ] Redux (RTK)
- [ ] Zustand
- [x] Jotai
- [ ] Valtio
- [ ] ...
#### Other
- [ ] Custom component snapshot matcher (?)
- [ ] Testing Event Emitters / Streams
Each documentation page should be brief and accompanied by an easy-to-understand example showcasing the essence of the recipe/technique. Additionally, I will create an `examples/cookbook` app based on a `basic` example app that will provide runnable code for all recipes.
We would invite our users to share their own best practices, tips & tricks, etc. so this becomes a crowdsource effort and a common knowledge base making our (developer) lives easier and more productive.
CC: @thymikee @pierrezimmermannbam @MattAgn @AugustinLF
Contributor guide
Assessment
This issue has not been assessed yet.