Links

Testing your Mobile App

Tests are essential to ensure everything in the mobile app works properly. This project has unit tests and e2e tests.

How to inspect the app

Reactotron is used to inspect logs, redux state, redux-sagas, HTTP requests, etc.

Unit tests

For unit tests, we use Jest and Storybook.

Storybook

Storybook is a tool for developing UI Components with some plugins to make Jest generate snapshots. On the root of the project, comment everything leaving only the last import to Storybook. Then, refresh your project. You'll see some tests like this:

Jest

We use Jest for unit tests and to generate Storybook snapshots. There is a pre-commit hook to prevent commits that breaks any test.
To check for test issues on your code, run this command:
yarn test

E2E tests

Detox framework tests our app end-to-end and ensures everything works properly.
To run the test, see the e2e documentation.

Code style

ESLint is used to enforce code style and best practices. There is a pre-commit hook enforcing commits to follow our lint rules.
To check for lint issues on your code, run this command:
yarn lint

Code formatting

Prettier is used to format the code style in our project. There is a pre-commit hook enforcing the commits to follow our style guides.
To fix your code formatting issues, run this on your terminal:
yarn prettier-lint
To integrate Prettier with your preferred code editor, see the official documentation.