Skip to content
v3.0.1 — MCP OAuth, organizations, passkeys, SSR adaptersChangelog
Convex Auth
Esc
↑↓navigate↵open⌘Jpreview
On this page

Testing

Helpers for driving the native auth flow in Convex unit tests.

@vortex-api/convex-auth/testing provides helpers for driving the native auth flow in Convex unit tests.

Install

pnpm add -D convex-auth

Exports

The @vortex-api/convex-auth/testing entry exposes test fixtures and factory functions. These are designed to be used from Convex’s convex-test harness or from a Node test runner that sets up a ConvexHttpClient.

Example: email/password sign-up in a test

import { ConvexHttpClient } from "convex/browser";
import { api } from "./convex/_generated/api";

const client = new ConvexHttpClient(process.env.CONVEX_URL!);

async function signUpUser(email: string) {
  return await client.action(api.auth.signUp, {
    name: "Test User",
    email,
    password: "S3cur3P@ss!0001",
  });
}

Registering the component in convex-test

@vortex-api/convex-auth/test (note: /test, not /testing) exports the pieces convex-test needs to mount the component inside your own harness:

import { register } from "@vortex-api/convex-auth/test";
import { convexTest } from "convex-test";
import { components } from "./convex/_generated/api";

const t = convexTest(schema, modules);
register(t); // t.registerComponent("convexAuth", schema, modules)

await t.query(components.convexAuth.status.get);

Also exported: convexAuthTest (default), modules (the component’s import.meta.glob map), and schema.

The component installs children (rateLimiter, mcpOauth as mcp) via component.use. They are not registered by register — any code path that calls components.rateLimiter or components.mcp needs those components registered through their own package test entries.

Conformance consumer

The internal packages/conformance-consumer is the source of truth for native-runtime conformance. It is not published, but its convex/auth.ts and generated _generated files are the reference configuration when writing your own tests.

Was this page helpful?