---
# System prepended metadata

title: Integration Testing

---

# Integration Testing
This document is a definition of the integration tests we are thinking to develop in the Nightfall project.
## What tests to include?

The tests will be divided into these groups:
- `e2e`: complete test in which a transaction of each type is tested, where Nightfall SDK is used.
    - Check deposit (different ERC20 same account)
    - Check withdraw in different scenarios (in the cooling off period, after cooling off period, several withdraws in same/different period, ...)
    - Check transfer (different accounts, different ERC20 tokens, non-existent address, multiple transfer in same/different batch)
    - Check proposer functionality (register, start)
    - Check challenger functionality (register, start)
- `test-real`:  It is a test that runs on testnet to see that the basic functionalities work correctly.