> **convex-test** — skill 31 of 33 in [convex/agent-skills](https://skillsdocs.com/convex/agent-skills).
>
> Book (all skills, one file): https://skillsdocs.com/convex/agent-skills.md
> Machine manifest: https://skillsdocs.com/convex/agent-skills/.well-known/agent-skills/index.json
> Install the book: `npx skills add convex/agent-skills`
> Upstream: https://github.com/convex/agent-skills/blob/main/skills/convex-test/SKILL.md @ `main`
> Raw bytes, no header: https://raw.githubusercontent.com/convex/agent-skills/main/skills/convex-test/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/convex/agent-skills/main/skills/convex-test/
> Licence: Apache-2.0 — https://spdx.org/licenses/Apache-2.0.html
>
> Content © its authors, served unmodified. Takedown: https://github.com/DreambaseAI/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: convex-test
description: "Generate convex-test tests for the app's Convex functions."
---

<!-- GENERATED from convex-agents content/capabilities/test.json — do not edit by hand. -->

# Generate Convex tests

Use convex-test + vitest to test functions against an in-memory backend: args/returns, auth paths, indexes, and scheduled functions.

## Workflow

1. Install convex-test + vitest.
2. Write tests using convexTest(schema): seed via t.run, call t.query/t.mutation, assert.
3. Cover auth (withIdentity), error paths, and scheduled functions (t.finishInProgressScheduledFunctions).
4. Run vitest; keep tests deterministic.

## Rules

- Use convex-test (in-memory), not a live deployment.
- Cover auth + error paths, not just the happy path.
- Keep tests deterministic (no real time/network).
