testing/admin_integration.ts

Standard admin integration test suite for fuz_app admin routes.

describe_standard_admin_integration_tests creates a composable test suite that exercises admin account listing, permit grant/revoke, session/token management, and audit log routes against a real PGlite database.

Consumers call it with their route factory, session config, and role schema — all admin route tests come for free.

Declarations
#

2 declarations

view source

describe_standard_admin_integration_tests
#

testing/admin_integration.ts view source

(options: StandardAdminIntegrationTestOptions): void

Standard admin integration test suite for fuz_app admin routes.

Exercises account listing, permit grant/revoke, session management, token management, audit log routes, admin-to-admin isolation, and response schema validation.

Each test group asserts that required routes exist, failing with a descriptive message if the consumer's route specs are misconfigured.

options

session config, route factory, and role schema

returns

void

StandardAdminIntegrationTestOptions
#

testing/admin_integration.ts view source

StandardAdminIntegrationTestOptions

session_options

Session config for cookie-based auth.

type SessionOptions<string>

create_route_specs

Route spec factory — same one used in production.

type (ctx: AppServerContext) => Array<RouteSpec>

roles

Role schema result from create_role_schema() — used to determine valid/invalid/web-grantable roles.

admin_prefix

Path prefix where admin routes are mounted (e.g., '/api/admin'). Used by the schema validation test to scope to fuz_app admin routes only, avoiding app-specific admin-gated routes that may use stub deps. Default '/api/admin'.

type string

app_options

Optional overrides for AppServerOptions.

type Partial< Omit<AppServerOptions, 'backend' | 'session_options' | 'create_route_specs'> >

db_factories

Database factories to run tests against. Default: pglite only. Pass consumer factories (e.g. [pglite_factory, pg_factory]) to also test against PostgreSQL.

type Array<DbFactory>

Depends on
#

Imported by
#