chore(server): remove unused flat-field-metadata per-object mocks (#22581)
## Context The `flat-field-metadata/__mocks__/` directory contained 11 large per-object `as const` mock catalogs (`OPPORTUNITY_FLAT_FIELDS_MOCK`, `PERSON_FLAT_FIELDS_MOCK`, `PET_FLAT_FIELDS_MOCK`, ...) plus a `getRelationTargetFlatFieldMetadataMock` helper. An audit of the whole server package (searching both the constant names and any import of the directory) showed almost none of them are consumed anymore — tests have moved to building exactly the fields they need with the `getFlatFieldMetadataMock` factory. Usage found: - `getFlatFieldMetadataMock` (factory): ~25 spec files + 2 core-modules mocks — **kept** - `COMPANY_FLAT_FIELDS_MOCK`: 1 spec (`object-record-event-publisher.spec.ts`), which only used the `name` field - The other 10 `*_FLAT_FIELDS_MOCK` catalogs and `getRelationTargetFlatFieldMetadataMock`: **zero consumers** ## Changes - Delete the 11 unused `*-flat-fields.mock.ts` catalogs and `get-morph-or-relation-target-flat-field-metadata-mock.ts` (~4,900 lines). Only `get-flat-field-metadata.mock.ts` remains. - In `object-record-event-publisher.spec.ts`, build the company `name` field inline with `getFlatFieldMetadataMock` (wired to `COMPANY_FLAT_OBJECT_MOCK.id`/`workspaceId`) and replace the three `COMPANY_FLAT_FIELDS_MOCK.name.type` references with `FieldMetadataType.TEXT`. The sibling `flat-object-metadata/__mocks__/` catalogs are untouched — several of those are still consumed by the morph/relation specs. ## Verification - `object-record-event-publisher.spec.ts`: 27/27 passing - `npx nx lint:diff-with-main twenty-server`: green - `npx nx typecheck twenty-server`: green https://claude.ai/code/session_01XcGEtwdXQo9uJibGRPexuG --- _Generated by [Claude Code](https://claude.ai/code/session_01XcGEtwdXQo9uJibGRPexuG)_ <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/twentyhq/twenty/pull/22581?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. -->
This commit is contained in:
+12
-5
@@ -1,6 +1,7 @@
|
||||
import { Test, type TestingModule } from '@nestjs/testing';
|
||||
|
||||
import {
|
||||
FieldMetadataType,
|
||||
type ObjectsPermissionsByRoleId,
|
||||
type RecordGqlOperationFilter,
|
||||
} from 'twenty-shared/types';
|
||||
@@ -11,7 +12,6 @@ import { createEmptyFlatEntityMaps } from 'src/engine/metadata-modules/flat-enti
|
||||
import { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
|
||||
import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
|
||||
import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util';
|
||||
import { COMPANY_FLAT_FIELDS_MOCK } from 'src/engine/metadata-modules/flat-field-metadata/__mocks__/company-flat-fields.mock';
|
||||
import { getFlatFieldMetadataMock } from 'src/engine/metadata-modules/flat-field-metadata/__mocks__/get-flat-field-metadata.mock';
|
||||
import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type';
|
||||
import { COMPANY_FLAT_OBJECT_MOCK } from 'src/engine/metadata-modules/flat-object-metadata/__mocks__/company-flat-object.mock';
|
||||
@@ -104,7 +104,14 @@ describe('ObjectRecordEventPublisher', () => {
|
||||
|
||||
const companyObjectMetadata: FlatObjectMetadata = COMPANY_FLAT_OBJECT_MOCK;
|
||||
|
||||
const companyNameField = COMPANY_FLAT_FIELDS_MOCK.name;
|
||||
const companyNameField = getFlatFieldMetadataMock({
|
||||
objectMetadataId: COMPANY_FLAT_OBJECT_MOCK.id,
|
||||
type: FieldMetadataType.TEXT,
|
||||
name: 'name',
|
||||
label: 'Name',
|
||||
universalIdentifier: 'company-name-field-universal-id',
|
||||
workspaceId,
|
||||
});
|
||||
|
||||
const mockFlatFieldMetadataMaps = buildFlatFieldMetadataMaps([
|
||||
companyNameField,
|
||||
@@ -466,7 +473,7 @@ describe('ObjectRecordEventPublisher', () => {
|
||||
it('should filter restricted fields from events', async () => {
|
||||
const restrictedField = getFlatFieldMetadataMock({
|
||||
objectMetadataId: companyObjectMetadata.id,
|
||||
type: COMPANY_FLAT_FIELDS_MOCK.name.type,
|
||||
type: FieldMetadataType.TEXT,
|
||||
name: 'secretField',
|
||||
universalIdentifier: 'restricted-field-universal-id',
|
||||
workspaceId,
|
||||
@@ -536,7 +543,7 @@ describe('ObjectRecordEventPublisher', () => {
|
||||
it('should skip update events when all updated fields are restricted', async () => {
|
||||
const restrictedField = getFlatFieldMetadataMock({
|
||||
objectMetadataId: companyObjectMetadata.id,
|
||||
type: COMPANY_FLAT_FIELDS_MOCK.name.type,
|
||||
type: FieldMetadataType.TEXT,
|
||||
name: 'secretField',
|
||||
universalIdentifier: 'restricted-field-universal-id',
|
||||
workspaceId,
|
||||
@@ -597,7 +604,7 @@ describe('ObjectRecordEventPublisher', () => {
|
||||
it('should filter diff when restricted fields are updated', async () => {
|
||||
const restrictedField = getFlatFieldMetadataMock({
|
||||
objectMetadataId: companyObjectMetadata.id,
|
||||
type: COMPANY_FLAT_FIELDS_MOCK.name.type,
|
||||
type: FieldMetadataType.TEXT,
|
||||
name: 'secretField',
|
||||
universalIdentifier: 'restricted-field-universal-id',
|
||||
workspaceId,
|
||||
|
||||
Reference in New Issue
Block a user