Automates the execution of E2E tests for the Novu API service.
Install
mkdir -p .claude/skills/run-api-e2e-tests && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2201" && unzip -o skill.zip -d .claude/skills/run-api-e2e-tests && rm skill.zipInstalls to .claude/skills/run-api-e2e-tests
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Run e2e tests for the API service. Use when the user wants to run API E2E tests.Key capabilities
- →Run full API E2E test suites
- →Execute specific feature test files
- →Target enterprise-specific test suites
- →Configure environment variables for test execution
How it works
The skill identifies test files using glob patterns and executes them via Mocha with pre-configured environment variables and setup files.
Inputs & outputs
When to use run-api-e2e-tests
- →Run all API e2e tests
- →Execute specific feature tests
- →Validate enterprise test suite
About this skill
Run API E2E Tests
Run novu-v2 e2e tests for the API service. Tests are located in apps/api.
Running All Tests
pnpm test:e2e:novu-v2
This runs all e2e tests with the novu-v2 pattern across both regular and enterprise test suites.
Running a Specific Test
When the user mentions a specific test or feature:
- Find the test file using Glob with pattern
*.e2e.tsor*.e2e-ee.tsinapps/api - Extract the filename (without extension) - e.g.,
trigger-event-preferences.e2e.ts→trigger-event-preferences - Determine the test location:
- Check if the test is in
src/ore2e/enterprise/
- Check if the test is in
- Run the appropriate command based on test location:
For tests in src/ directory:
pnpm exec cross-env NODE_ENV=test CI_EE_TEST=true CLERK_ENABLED=true NODE_OPTIONS=--max_old_space_size=8192 mocha --timeout 30000 --retries 3 --grep '#novu-v2' --require ./swc-register.js --exit --file e2e/setup.ts 'src/**/<name-of-the-test>.e2e{,-ee}.ts'
For tests in e2e/enterprise/ directory:
pnpm exec cross-env NODE_ENV=test CI_EE_TEST=true CLERK_ENABLED=true NODE_OPTIONS=--max_old_space_size=8192 mocha --timeout 30000 --retries 3 --grep '#novu-v2' --require ./swc-register.js --exit --file e2e/setup.ts 'e2e/enterprise/**/<name-of-the-test>.e2e.ts'
Replace <name-of-the-test> with the actual test filename (without extension).
Examples
Running trigger-event-preferences test (in src/):
# Found: apps/api/src/app/events/e2e/trigger-event-preferences.e2e.ts
pnpm exec cross-env NODE_ENV=test CI_EE_TEST=true CLERK_ENABLED=true NODE_OPTIONS=--max_old_space_size=8192 mocha --timeout 30000 --retries 3 --grep '#novu-v2' --require ./swc-register.js --exit --file e2e/setup.ts 'src/**/trigger-event-preferences.e2e{,-ee}.ts'
Running enterprise billing test:
# Found: apps/api/e2e/enterprise/billing/billing.e2e.ts
pnpm exec cross-env NODE_ENV=test CI_EE_TEST=true CLERK_ENABLED=true NODE_OPTIONS=--max_old_space_size=8192 mocha --timeout 30000 --retries 3 --grep '#novu-v2' --require ./swc-register.js --exit --file e2e/setup.ts 'e2e/enterprise/**/billing.e2e.ts'
Important Notes
- Always run commands from
apps/apidirectory - For specific tests, use the full mocha command (not pnpm script) to target the exact test file
- Report test results clearly to the user
When not to use it
- →When running unit tests or non-API service tests
Prerequisites
Limitations
- →Requires execution from the apps/api directory
How it compares
It provides specific command-line configurations for enterprise vs. regular tests that manual execution might overlook.
Compared to similar skills
run-api-e2e-tests side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| run-api-e2e-tests (this skill) | 7 | 6mo | Review | Beginner |
| http-generate | 1 | 7mo | Review | Intermediate |
| twinmind-local-dev-loop | 1 | 27d | Caution | Beginner |
| write-test | 1 | 5mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by novuhq
View all by novuhq →You might also like
http-generate
spring-ai-alibaba
Generates HTTP request examples for Spring Boot Web interfaces according to task specification and saves them as .http files in module-generate.md directories
twinmind-local-dev-loop
jeremylongshore
Set up local development workflow with TwinMind API integration. Use when building applications that integrate TwinMind transcription, testing API calls locally, or developing meeting automation tools. Trigger with phrases like "twinmind dev setup", "twinmind local development", "twinmind API testing", "build with twinmind".
write-test
useautumn
Write integration tests for the Autumn billing system. Use when creating tests, writing test scenarios for billing/subscription features, track/check endpoints, or when the user asks about testing, test cases, or QA.
deepgram-hello-world
jeremylongshore
Create a minimal working Deepgram transcription example. Use when starting a new Deepgram integration, testing your setup, or learning basic Deepgram API patterns. Trigger with phrases like "deepgram hello world", "deepgram example", "deepgram quick start", "simple transcription", "transcribe audio".
groq-hello-world
jeremylongshore
Create a minimal working Groq example. Use when starting a new Groq integration, testing your setup, or learning basic Groq API patterns. Trigger with phrases like "groq hello world", "groq example", "groq quick start", "simple groq code".
maintainx-hello-world
jeremylongshore
Create a minimal working MaintainX example - your first work order. Use when starting a new MaintainX integration, testing your setup, or learning basic MaintainX API patterns. Trigger with phrases like "maintainx hello world", "maintainx example", "maintainx quick start", "create first work order", "simple maintainx code".