### To accomplish - Unit and integration testing - End to end testing ### Unit and integration testing Test every piece of our base layer: - IPFS - Census - Vochain: iavl, vochain logic ... - IPFS Sync - Router - Contract and ethevents - Web3 - Crypto - Net: Http/WS ... (Some of this are already done) ### End to end testing We need a test environment with some predefined data in order to be fast running tests: - Vochain (3 Miners + 1 Fullnode) - Gateway (maybe more than one for testing census and IPFS related, ex census import or ipfs pinning) - Ethereum testnet (ganache like node) - Oracle - IPFS localnet with 2 or 3 nodes Also we need data sets in order to initialize the test environment with some predefined data. - Ethereum related txs (process creation, entity creation, ...) - Vochain related txs (vote submitting, vochain queries to test tx indexing ...) - Gateway related (api calls, census creation ...) - IPFS process metadata ### Proposal for this week I think all of this is quite long to achieve so there are some minimal setup that I think we need to face The Kiss ending with confidence, which are: - Ethereum testnet with one node and a process than sends some txs in order to create entities and processes with the predefined data - With this an oracle can read all the logs in the early blocks and we can send txs in a controled environment if we need to change something over the tests - Census creation and gateway import in order to use this census in our processes - Vote submitting using the data created in the gateway API - API requests and responses ### Where could we are after this: We can have a minimal stable testing environment just for testing some of the features we already implemented and specially the vochain-oracle-ethereum-api subset. With this we will be sure that the things that are running in the preproduction environment are working as expected with the new features addition, which are: - Scrutinizer - Process lifecycle - getProcessList API call with Vochain internal Tx indexing