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>
42 lines
No EOL
460 B
Text
42 lines
No EOL
460 B
Text
# dependencies (bun install)
|
|
node_modules
|
|
|
|
# output
|
|
out
|
|
dist
|
|
*.tgz
|
|
|
|
# code coverage
|
|
coverage
|
|
*.lcov
|
|
|
|
# logs
|
|
logs
|
|
_.log
|
|
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
|
|
|
# dotenv environment variable files
|
|
.env
|
|
.env.development.local
|
|
.env.test.local
|
|
.env.production.local
|
|
.env.local
|
|
|
|
# caches
|
|
.eslintcache
|
|
.cache
|
|
*.tsbuildinfo
|
|
|
|
# IntelliJ based IDEs
|
|
.idea
|
|
|
|
# Finder (MacOS) folder config
|
|
.DS_Store
|
|
|
|
|
|
# Test files
|
|
tmp/*
|
|
html/
|
|
|
|
# Local CLAUDE configuration
|
|
CLAUDE.local.md |