---
title: Testing Summary
description: Summary of E2E test implementation status, coverage statistics, and current state of testing infrastructure.
navigation:
  icon: i-lucide-clipboard-check
---

# E2E Testing Summary

## Current Status

::callout{icon="i-lucide-check-circle" color="green"}
**All 85 tests passing** in both local and CI environments (as of 2025-10-25)
::

- ✅ **Local**: 85/85 tests passing
- ✅ **CI/CD**: 85/85 tests passing
- ✅ **Database**: PostgreSQL + Mailpit via Docker
- ✅ **Email**: Real SMTP testing with Mailpit
- ✅ **Languages**: Dutch (nl-BE) and English (en-US) support

## Test Files

| File | Tests | Category |
|------|-------|----------|
| [login.spec.ts](test/e2e/auth/login.spec.ts) | 14 | Authentication |
| [registration.spec.ts](test/e2e/auth/registration.spec.ts) | 10 | Authentication |
| [forgot-password.spec.ts](test/e2e/auth/forgot-password.spec.ts) | 9 | Authentication |
| [reset-password.spec.ts](test/e2e/auth/reset-password.spec.ts) | 12 | Authentication |
| [magic-link.spec.ts](test/e2e/auth/magic-link.spec.ts) | 12 | Authentication |
| [security.spec.ts](test/e2e/account/security.spec.ts) | 10 | Account |
| [danger-zone.spec.ts](test/e2e/account/danger-zone.spec.ts) | 9 | Account |
| [user-flows.spec.ts](test/e2e/journeys/user-flows.spec.ts) | 9 | Integration |
| **TOTAL** | **85** | |

**Helper Files:**
- [test/e2e/helpers/auth.ts](test/e2e/helpers/auth.ts) - Auth utilities + TEST_LANGUAGE constants
- [test/e2e/helpers/email.ts](test/e2e/helpers/email.ts) - Email testing (Mailpit + Mock)

## Feature Coverage

| Feature Area | What's Tested | Status |
|--------------|---------------|--------|
| **Authentication** | Login, Registration, Forgot/Reset Password, Magic Link | ✅ 100% |
| **Email Verification** | Verification links, resend functionality | ✅ 100% |
| **Account Security** | Password change, Passkey management | ✅ 100% |
| **Account Deletion** | Deletion flow with confirmation | ✅ 100% |
| **Form Validation** | Email/password validation, error handling | ✅ 100% |
| **UI/UX** | Loading states, success messages, navigation | ✅ 100% |
| **Internationalization** | Dutch and English language support | ✅ 100% |
| **Integration** | Complete user journeys end-to-end | ✅ 100% |

## Running Tests

### E2E Tests

```bash [Terminal]
# Interactive UI mode (best for development)
pnpm test:e2e:ui

# Run all tests (headless)
pnpm test:e2e

# Run with visible browser
pnpm test:e2e:headed

# Debug mode
pnpm test:e2e:debug

# View HTML report
pnpm test:e2e:report
```

### Unit Tests

```bash [Terminal]
# Run unit tests
pnpm test

# Run with coverage
pnpm coverage
```

### Database & Email Utilities

```bash [Terminal]
# Reset test database
pnpm test:db:reset

# View PostgreSQL logs
pnpm test:db:logs

# View Mailpit logs
pnpm test:mailpit:logs

# Open Mailpit web UI
pnpm test:mailpit:open
```

### Quality Checks

```bash [Terminal]
# Type check
pnpm typecheck

# Lint code
pnpm lint
```

## Language Support

All tests use the `TEST_LANGUAGE` constants for Dutch language support:

```typescript
// Example constants from test/e2e/helpers/auth.ts
TEST_LANGUAGE.signIn           // "Inloggen"
TEST_LANGUAGE.signUp           // "Registreren"
TEST_LANGUAGE.forgotPassword   // "Wachtwoord Vergeten"
TEST_LANGUAGE.verifyEmail      // /Verifieer Je E-mail|verificatie/i
TEST_LANGUAGE.emailSent        // /E-mail Verstuurd|Verstuurd/i
TEST_LANGUAGE.passwordMinLength // /minimaal 8 tekens/i
// ... and 20+ more
```

## Next Steps

::steps
1. **Run tests locally**: `pnpm test:e2e:ui` to verify in your environment
2. **Monitor CI/CD**: Continue monitoring GitHub Actions for flaky tests
3. **Expand coverage**: Add tests for new features as they're developed
4. **Performance testing**: Consider adding performance/load testing for critical flows
::

## Related Documentation

::card-group
  ::card
  ---
  title: E2E Quick Start
  icon: i-lucide-play-circle
  to: /testing/e2e-quick-start
  ---
  Get started with running E2E tests
  ::

  ::card
  ---
  title: Database Setup
  icon: i-lucide-database
  to: /testing/database-setup
  ---
  PostgreSQL and Mailpit configuration
  ::

  ::card
  ---
  title: Authentication Test Plan
  icon: i-lucide-clipboard-list
  to: /testing/authentication-test-plan
  ---
  Detailed test scenarios and coverage
  ::

  ::card
  ---
  title: CI/CD Workflow
  icon: i-lucide-workflow
  to: /testing/ci-cd-workflow
  ---
  GitHub Actions pipeline details
  ::
::
