Skip to content

Add comprehensive automated test coverage #79

Description

@SagiEv

Add comprehensive automated test coverage

Goal

Establish automated testing across the full JobPilot stack.

Backend

Add unit tests covering:

  • Business logic
  • Application status transitions
  • Event chronology
  • Email parsing
  • Company matching
  • Role matching
  • Analytics
  • Export functionality
  • AI-service integrations/mocks

AI Service

Add tests for:

  • Classification
  • Structured output
  • JSON schema validation
  • Role-fit analysis
  • Email classification
  • Confidence handling
  • Hallucination/ambiguous-result safeguards

AI tests should use deterministic mocks/fixtures where appropriate.

Integration tests

Test:

  • API ↔ database
  • Application lifecycle
  • Email processing → application matching → status update
  • Export flows
  • MCP data access

Frontend tests

Test:

  • Components
  • Forms
  • Status update UI
  • Native notifications/dialogs
  • Application list/detail loading
  • Analytics rendering
  • CV rendering

E2E tests

Cover critical user journeys:

  • Create application
  • Update application status
  • Add historical event
  • Add interview
  • Process incoming email
  • Open application details
  • Export data
  • Tailor CV
  • View analytics

Lint

Add linting to the automated pipeline.

Acceptance Criteria

  • Backend unit tests are established.
  • AI service tests are established.
  • Integration tests are established.
  • Frontend tests are established.
  • E2E tests cover critical flows.
  • Lint runs automatically.
  • Test commands are documented.
  • CI fails when tests or lint fail.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions