Files
igm 01f1e1c9e3 Add READMEs for remaining packages
- db-schema: Database schema types from kysely-codegen
- db: Database client and helper functions
- testing: Overview of testing packages
- test-helpers: Database testing utilities
- virtual-authenticator: WebAuthn virtual authenticator

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 13:59:34 +08:00

53 lines
1.5 KiB
Markdown

# @reviq/test-helpers
Database testing utilities for integration and e2e tests.
## Usage
```typescript
import {
describeE2E,
createTestDb,
withTestTransaction,
createTestUser,
} from "@reviq/test-helpers";
describeE2E("My API tests", () => {
it("should create a user", async () => {
await withTestTransaction(async (trx) => {
const user = await createTestUser(trx, {
email: "test@example.com",
});
expect(user.id).toBeDefined();
});
});
});
```
## Exports
### Test Setup
- `describeE2E(name, fn)` - Wrapper for describe() that skips when `SKIP_DB_TESTS=1`
- `SKIP_DB_TESTS` - Boolean indicating if db tests should be skipped
### Database Utilities
- `createTestDb()` - Create an isolated test database
- `destroyTestDb(db)` - Destroy a test database
- `getSharedDb()` - Get the shared test database instance
- `destroySharedDb()` - Destroy the shared database
- `initTestDb()` - Initialize the test database
- `runMigrations(url)` - Run database migrations
- `truncateAllTables(db)` - Clear all data from tables
- `getTestDatabaseUrl()` - Get the test database connection URL
### Transaction Helpers
- `withTestTransaction(fn)` - Run a function in a rolled-back transaction
### Fixtures
- `createTestUser(trx, opts)` - Create a test user
### Constants
- `TEST_RP` - Test relying party configuration for WebAuthn
- `DEFAULT_TEST_AAGUID` - Default AAGUID for virtual authenticator
- `KNOWN_AAGUIDS` - Map of known authenticator AAGUIDs