test: architecture redesign
Context
Please consider that this draft PR is intended to give an idea of the work to be done for a complete test architecture redesign. No functional factorization has been really done.
The previous unit test architecture was not scalable and hard to read, so we needed a scalable and readable acrhitecture in the same way that a test architecture with Foundry could be read (for a future migration).
The old architecture was very basic and similar to this:

The new architecture looks like this:

The goals of this new architecture are:
- Refactor all the features by utility and/or by operator
- Divide the utils (present in the ./scripts directory) to extract the functionality specific to the test environment
- Improve the readability of the architecture (trying to get closer to foundry style)
- Improved scalability
- Speed up test writing
New structure
This is what the new tree looks like:

shared
This directory contains all the resources shared between the unit tests.
See also: Foundry book - Shared setup Foundry book - Project layout
helpers
This directory contains all the functionality required in the unit tests.
- Fixtures in the fixtures directory
- Deployment specific features in the deployer.ts
- Functionalities specific to the different contracts calls in the caller.ts.
- Les variables constantes dans le constants.ts
- The constant variables in the constants.ts
- Test environment definitions with chai and waffle in provider.ts
fixtures
Ce dossier contient toutes les fixtures organiser par opérateur en fonction du fork.
- The main.ts file allows to gather all the fixtures under the same access point in order to improve the readability of their use/imports.
- The factoryAndOperatorsFixture.ts file gathers all fixtures used in the non forked test environment.
- The factoryAndOperatorsForkingBSCFixture.ts file gathers all the fixtures used in the test environment forked from the BSC.
- The other files define the fixtures for each operator.
utils
This directory contains all the additional test environment specific functionality coming from the utils.ts in the scripts directory.
- The file orders.ts contains all the functions to build orders in order to submit them to the factory
- The file records.ts contains all the functions to assign the factory to each operator
types
This folder contains all the data types used in the unit tests or in the helpers.
unit
This directory contains all unit tests.
Interesting files to watch (non-functional, structural only)
- ./test/shared/helpers/fixtures/*
- All operators fixtures refactorised files
- ./test/shared/types/*
- All operators fixtures type structure refactorised files (not roworked for readability)
- ./test/shared/helpers/deployer.ts
- Factorised deployments features
- ./test/shared/helpers/types/FactoryAndOperatorsFixture.ts
- Reworked readability FactoryAndOperatorsFixture type
- ./test/shared/helpers/fixtures/factoryAndOperatorsFixture.ts
- Factorised deployments with the deployer
- ./test/unit/NestedAssetBatcher.unit.ts
- Use of the reworked FactoryAndOperatorsFixture context to improve readability