Classification types and CRM settings integration
Verification Boundary
Classification catalogue persistence, catalogue usage reads and CRM default settings cross the real PostgreSQL boundary.
What This Suite Proves
Contact, organization, address, phone and affiliation types are persisted and read with their stored order and values. Contact-role catalogue tests exercise automatic-role selection and retained role definitions. Usage queries count references that prevent deletion. CRM settings tests distinguish a workspace with no saved default from one whose saved choice must survive another read.
What It Does Not Prove
The group does not prove configuration screens or public write authority. It does not prove delivery of an organization compliance template, which belongs to compliance integration. Effective form resolution consumes these records but has its own separate integration boundary.
Level and Rationale
Catalogue uniqueness, destination mapping references and live usage counts depend on existing rows. The absence of a settings row is itself a storage condition, so a fabricated settings answer cannot establish fallback behavior or the first write. Real constraints are required to distinguish legal configuration from broken references.
Real Dependencies and Test Doubles
Catalogue tables, query functions, execution contexts and PostgreSQL are real. Seeded definitions supply valid references for constraint premises. No console manager is part of this group. Any Platform-owned template interaction in an organization-type write retains the exact test seam the source declares.
Must Not Be Doubled
Keep catalogue uniqueness and workspace references real, including both sides of each mapping reference. Do not double the usage query when claiming a referenced type cannot be removed. Default-setting reads must consult the actual saved row rather than a test-supplied cached selection.
Fixtures and Isolation
Each spec owns the catalogue records it creates and removes dependent mappings before their owners. Shared seed definitions are read as premises. Tests that alter configuration dependencies restore them after the stage; this register selects a serial invocation to avoid interleaving those changes.
Determinism and Retries
Ordered type fixtures state their exact expected positions and version values. Configuration identifiers come from the fixture helper or literal scope-owned records. A failed setup fails dependent cases; the register introduces no retry that could conceal a uniqueness or concurrent-ordering problem.
How It Runs
Run the command in the frontmatter from the service repository after preparing the test database. It selects every file in this aggregate register under the repository Mocha bootstrap and runs serially. This is the aggregate selection of the integration gate; the complete repository integration command includes other modules and is wider than this register.
Coverage Gaps
Direct catalogue tests are narrower than a complete console administration journey. The existing catalogue-transition and competing-write findings continue to identify missing proof. Archive is not a classification transition here: inactive status is a change, while record archive belongs to contacts and organizations.