Test Data Constants
Description
Section titled “Description”This example demonstrates the test data constants available in the the pre-recorded HAR file responses used by the mock server. No mock server is required - this example just displays the constants.
Prerequisites
Section titled “Prerequisites”- No LocalNet required
Run This Example
Section titled “Run This Example”From the repository root:
cd examplesnpm run example testing/02-test-data-constants.ts/** * Example: Test Data Constants * * This example demonstrates the test data constants available in the * @algorandfoundation/algokit-utils/testing package. These constants match * the pre-recorded HAR file responses used by the mock server. * * No mock server is required - this example just displays the constants. * * Prerequisites: * - No LocalNet required */
import { TEST_ADDRESS, TEST_APP_ID, TEST_APP_ID_WITH_BOXES, TEST_ASSET_ID, TEST_BOX_NAME, TEST_ROUND, TEST_TXID,} from '@algorandfoundation/algokit-utils/testing';import { printHeader, printInfo, printStep, printSuccess } from '../shared/utils.js';
async function main() { printHeader('Test Data Constants Example');
printInfo('These constants match pre-recorded HAR file responses in the mock server.'); printInfo('Use them in your tests to ensure consistent, reproducible test data.');
// Step 1: TEST_ADDRESS constant printStep(1, 'TEST_ADDRESS - Algorand account address'); printInfo(`Address: ${TEST_ADDRESS}`); printInfo(`Length: ${TEST_ADDRESS.length} characters`); printInfo('Purpose: Standard Algorand address format for account-related tests.');
// Step 2: TEST_APP_ID constant printStep(2, 'TEST_APP_ID - Application ID for smart contract tests'); printInfo(`App ID: ${TEST_APP_ID}`); printInfo('Purpose: Use this app ID when testing application calls and state queries.');
// Step 3: TEST_APP_ID_WITH_BOXES constant printStep(3, 'TEST_APP_ID_WITH_BOXES - Application ID with box storage'); printInfo(`App ID: ${TEST_APP_ID_WITH_BOXES}`); printInfo('Purpose: Use this app ID when testing box storage operations.');
// Step 4: TEST_BOX_NAME constant printStep(4, 'TEST_BOX_NAME - Base64-encoded box name'); printInfo(`Box name: ${TEST_BOX_NAME}`); printInfo('Purpose: Pre-recorded box name for testing box read/write operations.');
// Step 5: TEST_ASSET_ID constant printStep(5, 'TEST_ASSET_ID - Asset ID for ASA tests'); printInfo(`Asset ID: ${TEST_ASSET_ID}`); printInfo('Purpose: Use this asset ID when testing Algorand Standard Asset operations.');
// Step 6: TEST_TXID constant printStep(6, 'TEST_TXID - Transaction ID string'); printInfo(`Transaction ID: ${TEST_TXID}`); printInfo(`Length: ${TEST_TXID.length} characters`); printInfo('Purpose: Use this transaction ID when testing transaction lookups and confirmations.');
// Step 7: TEST_ROUND constant printStep(7, 'TEST_ROUND - Block round number'); printInfo(`Round: ${TEST_ROUND}`); printInfo('Purpose: Use this round number when testing block and round-based queries.');
// Summary printStep(8, 'Summary - Why these constants matter'); printInfo('The mock server uses HAR (HTTP Archive) files to replay recorded responses.'); printInfo('These constants match the data in those recordings, ensuring:'); printInfo(' - Tests always use valid, consistent identifiers'); printInfo(' - Mock server can match requests to recorded responses'); printInfo(' - Tests are reproducible across different environments'); printInfo(''); printInfo('Example usage in a test:'); printInfo(' const accountInfo = await algod.accountInformation(TEST_ADDRESS).do()'); printInfo(' const appInfo = await algod.getApplicationByID(TEST_APP_ID).do()'); printInfo(' const assetInfo = await algod.getAssetByID(TEST_ASSET_ID).do()');
printSuccess('Test data constants example completed!');}
main().catch(console.error);