---
id: TST-PFM-INT-575
title: domain event projection
kind: unit
product_area: platform
module: integrations
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  macroservice-libraries: 54536a441935c6e09fdb7f96f0bec71c52ba4e03
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: services-platform
files:
  - modules/integrations/tests/unit/services/domain-event-projection.spec.ts
implements:
  - ATS-PFM-INT-014-02
  - ATS-PFM-INT-014-03
environment: mock
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 1
isolation: Pure test fixtures owned by the test process.
evidence:
  - 'services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts'
test_cases:
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#reads
      CRM’s event table name as the catalog’s stream
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#keeps a
      stream already named as the catalog names it
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#is
      created for an insert, updated for an update and deleted for a delete
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#is the
      one the change event names, for a stream whose verbs are not row operations
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#is none
      for a stream the catalog does not know
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#carries
      only the projection’s fields of the row after the change
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#carries
      the projection before the change and the projection’s changed fields for a type that includes
      changes
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#carries
      no previous and no changed fields for a type that does not include changes
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#projects
      a deleted record from its row before the delete
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#reads a
      camelCase snapshot’s fields by their projection names
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#declares
      no system column among the projection’s fields
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#is
      refused, naming the path, when the row does not satisfy the projection
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#matches
      every event when there is no filter
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#matches
      an event whose time the schedule condition allows
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#refuses
      an event whose time the schedule condition does not allow
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts#refuses
      an event a condition cannot decide, an allow needing TRUE
    provenance: test
dependency_evidence:
  provenance: test
  source: 'services-platform:modules/integrations/tests/unit/services/domain-event-projection.spec.ts'
  reviewed:
    - Suite introduction
    - Fixture setup
    - Client substitutions
    - Assertions and cleanup
---
# domain event projection

## Verification Boundary

This unit suite exercises domain event projection. Its registration records the executable definition; no run result is asserted.

## What This Suite Proves

The bindings identify the detailed outcomes asserted by this suite. Test-level evidence retains the individual checks, including cases where several suites contribute to one scenario.

## What It Does Not Prove

Pure cases do not establish database constraints, deployed authorization or provider effects.

## Real Dependencies and Test Doubles

The suite evaluates its imported functions with controlled inputs. Its source records the fixture and substitution boundary.

## Must Not Be Doubled

The function under test and its result checks must execute. Replacing them with expected answers provides no proof.
