testing | Algorand Developer Portal
testing
@algorandfoundation/algokit-utils / testing
Classes
Functions
algoKitLogCaptureFixture
▸ algoKitLogCaptureFixture(): AlgoKitLogCaptureFixture
Creates a test fixture for capturing AlgoKit logs.
Returns
The fixture
Example
const logs = algoKitLogCaptureFixture();
beforeEach(logs.beforeEach);
afterEach(logs.afterEach);
test('My test', () => {
const capturedLogs = logs.testLogger.capturedLogs;
});
Defined in
src/testing/fixtures/algokit-log-capture-fixture.ts:22
algorandFixture
▸ algorandFixture(fixtureConfig?): AlgorandFixture
Creates a test fixture for automated testing against Algorand. By default it tests against an environment variable specified client if the standard environment variables are specified, otherwise against a default LocalNet instance, but you can pass in an algod, indexer and/or kmd (or their respective config) if you want to test against an explicitly defined network.
Parameters
| Name | Type | Description |
|---|---|---|
fixtureConfig? |
AlgorandFixtureConfig |
The fixture configuration |
Returns
The fixture
Example
const fixture = algorandFixture()
beforeEach(fixture.newScope, 10_000)
test('My test', async () => {
const {algod, indexer, testAccount, ...} = fixture.context
// test things...
})
Example
const fixture = algorandFixture()
beforeAll(fixture.newScope, 10_000)
test('My test', async () => {
const {algod, indexer, testAccount, ...} = fixture.context
// test things...
})
Defined in
src/testing/fixtures/algorand-fixture.ts:60
getTestAccount
▸ getTestAccount(params, algod, kmd?): Promise<Address & Account & TransactionSignerAccount >
Parameters
| Name | Type | Description |
|---|---|---|
params |
GetTestAccountParams |
The config for the test account to generate |
algod |
AlgodClient |
An algod client |
kmd? |
KmdClient |
A KMD client, if not specified then a default KMD client will be loaded from environment variables and if not found fallback to the default LocalNet KMD client |
Returns
Promise<Address & Account & TransactionSignerAccount >
The account, with private key loaded
Defined in
runWhenIndexerCaughtUp
▸ runWhenIndexerCaughtUp <T>(run): Promise<T>
Runs the given indexer call until a 404 error is no longer returned. Tried every 200ms up to 100 times. Very rudimentary implementation designed for automated testing.
Parameters
| Name | Type | Description |
|---|---|---|
run |
() => Promise<T> |
The code to run |
Returns
Promise<T>
The result (as a promise), or throws if the indexer didn’t catch up in time
Example
const transaction = await runWhenIndexerCaughtUp(() => indexer.lookupTransactionByID(txnId).do());