mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 09:50:01 +00:00
### Description This PR introduces the **Moonwall** end-to-end (E2E) testing framework. The primary motivation for this is to enable the porting of existing Mobeam tests into the `DataHaven` repository. ### Key Changes * **Node Manual Sealing:** * Introduced a `--sealing=manual` flag for the `datahaven-node`. When enabled, blocks are only produced on demand via an RPC call. This is the core mechanism that allows for deterministic tests. * **Moonwall Framework Integration:** * Added `@moonwall/cli` and `@moonwall/util` dependencies to the `test/package.json`. * A new `test/moonwall.config.json` file configures the test environment, defining how Moonwall should launch the `datahaven-node` with the manual sealing flag. * Added a `moonwall:test` script to `package.json` for running the tests. * **CI Workflow:** * A new reusable workflow, `.github/workflows/task-moonwall-tests.yml`, has been created to handle the setup, execution, and reporting of Moonwall tests. * The main `CI.yml` now includes a `moonwall-tests` job that runs after the `build-operator` job, ensuring it always tests the correct, freshly-built binary. * **Example Test Suite:** * A new test suite, `test/datahaven/suites/dev/test-block.ts`, had been copied from moonbeam. ### How to Run Locally 1. Navigate to the `test` directory. 2. Install dependencies: `bun install` 3. Run the tests: `bun run moonwall:test` --------- Co-authored-by: undercover-cactus <lola@moonsonglabs.com> |
||
|---|---|---|
| .. | ||
| helpers | ||
| suites/dev | ||