Tests
The D-ASA project is developed with AlgoKit.
- Install AlgoKit
- Setup your virtual environment (managed with Poetry)
algokit bootstrap all
- Start your Algorand LocalNet (requires Docker)
algokit localnet start
- Run tests (managed with PyTest)
algokit project run test
or, for verbose results:
poetry run pytest -s -v tests/<contract_name>/<test_case>.py
The repository also includes a D-ASA showcase walkthrough that prints the normalized ACTUS schedule beside the real ARC-28 execution proofs and realized cashflows for PAM fixed coupon and zero coupon bonds:
poetry run pytest -s -v -m showcase tests/pam/test_pam_lifecycle_showcase.py

Coverage Areas
-
tests/sdk/*covers the Python-side SDK and normalization layer: contract builders, schedules, day-count conventions, registry mappings, models, and deploy configuration helpers. -
tests/mock_module_rbac/*exercises RBAC behavior in isolation through the dedicated mock module artifact. -
tests/pam/fcb/*andtests/pam/zcb/*run end-to-end PAM lifecycle tests on LocalNet for fixed coupon and zero coupon bonds, including schedule upload,IED, cashflow funding, holder claims, and final contract state. -
tests/pam/test_pam_lifecycle_showcase.pyis the narrative walkthrough suite for new users. It prints the normalized ACTUS schedule beside the emitted ARC-28 execution receipts and realized cashflows. It is markedshowcaseand excluded from the defaultalgokit project run testcommand. -
Shared fixtures live in
tests/conftest.py,tests/pam/conftest.py, andtests/conftest_helpers.py; helper decoding and time-warp utilities live intests/utils.py.