PSA/server/docs/e2e-test-status.md
Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

2.9 KiB

E2E Test Status Report

Date: 2025-07-04

Prerequisites

  • Node.js 20.0.0 or higher is required to run the E2E tests
  • PostgreSQL database with test data
  • Environment variables properly configured

Overview

This document tracks the current status of e2e tests for all REST APIs that have been migrated to V2.

Working APIs with Passing Tests

1. Contacts API

  • Controller: ApiContactControllerV2
  • Status: Fully migrated and working
  • Test: test-single-contact.test.ts - PASSING
  • Notes: Basic CRUD operations verified

2. Teams API

  • Controller: ApiTeamControllerV2
  • Status: Fully migrated and working
  • Test: test-teams-minimal.test.ts - PASSING
  • Notes: Need to create comprehensive tests

3. Permissions API

  • Controller: Uses Contacts API as test
  • Test: test-permissions.test.ts - PASSING
  • Notes: Verifies permission system is working

4. Companies API (Partially)

  • Controller: ApiCompanyControllerV2
  • Status: Migrated, basic creation working
  • Issues Fixed:
    • Tax settings creation (made optional)
    • Tag handling (updated for new schema)
    • Billing cycle validation
  • Remaining Issues:
    • Some tests still failing due to test data issues

APIs with Known Issues

5. Users API

  • Controller: ApiUserControllerV2
  • Status: Migrated but tests failing
  • Issues: Password hashing expectations in tests

6. Projects API

  • Controller: ApiProjectControllerV2
  • Status: Migrated but tests failing
  • Issues: Tenant context issues

7. Tickets API

  • Controller: ApiTicketControllerV2
  • Status: Migrated but tests failing
  • Issues: Status column validation issues

APIs Migrated Without Tests

8. Roles API ⚠️

  • Controller: ApiRoleControllerV2
  • Status: Migrated, no tests created yet

9. Time Entries API ⚠️

  • Controller: ApiTimeEntryControllerV2
  • Status: Migrated, no tests created yet

Key Fixes Applied

  1. Circular Dependency Fix: All V2 controllers use ApiKeyServiceForApi and findUserByIdForApi
  2. Tax Settings: Made optional to avoid test failures when no tax rates exist
  3. Tag System: Updated to use new normalized tag_definitions and tag_mappings tables
  4. Billing Cycle: Fixed test data to use valid enum values

Next Steps

  1. Fix remaining test failures for Users, Projects, and Tickets APIs
  2. Create comprehensive e2e tests for Teams, Roles, Permissions, and Time Entries APIs
  3. Ensure all tests pass consistently
  4. Document any remaining issues or limitations

Test Running Instructions

To run specific API tests:

# Run working tests
npm test -- src/test/e2e/api/test-single-contact.test.ts
npm test -- src/test/e2e/api/test-teams-minimal.test.ts
npm test -- src/test/e2e/api/test-permissions.test.ts

# Run all e2e tests
npm test -- src/test/e2e/api/