@holokai/moku-test
v1.4.5
Published
Integration tests for the Moku API via moku-sdk
Readme
@holokai/moku-test
Integration test helpers for the Moku SDK. Provides test client factory, environment detection, and verbose logging.
Installation
npm install @holokai/moku-testPeer dependency: vitest ^3.0.0
Environment Variables
| Variable | Default | Description |
|---------------------|-------------------------|----------------------------------------------|
| MOKU_URL | http://localhost:8080 | Moku API base URL |
| MOKU_TEST_TOKEN | (required) | Bearer token for authentication |
| MOKU_TEST_VERBOSE | (unset) | Enable verbose logging when set to any value |
Usage
import {describe, it, expect, beforeAll} from 'vitest';
import {MokuClient} from '@holokai/moku-sdk';
import {createTestClient, isMokuAvailable, verboseLog} from '@holokai/moku-test';
describe.skipIf(!isMokuAvailable())('moku integration', () => {
let client: MokuClient;
beforeAll(() => {
client = createTestClient();
});
it('lists threads', async () => {
const result = await client.threads.list({page: 0, size: 10});
verboseLog('threads.list', result);
expect(result.content).toBeInstanceOf(Array);
});
it('lists providers', async () => {
const result = await client.providers.list({page: 0, size: 5});
verboseLog('providers.list', result);
expect(result.totalElements).toBeGreaterThanOrEqual(0);
});
});API
| Export | Description |
|---------------------------|--------------------------------------------------------------|
| createTestClient() | Returns a MokuClient configured from environment variables |
| isMokuAvailable() | Returns true if MOKU_TEST_TOKEN is set |
| getMokuUrl() | Returns the Moku base URL |
| getMokuToken() | Returns the test token (throws if not configured) |
| isVerbose() | Returns true if verbose mode is enabled |
| verboseLog(label, data) | Logs to console if verbose mode is on |
License
MIT
