Files
twenty/packages/twenty-front/scripts/mock-data/generate-views.ts
T
Charles BochetandGitHub 9342b16aad Fix more tests 2 (#18293)
## Summary
- Migrate more hand-written test mocks to auto-generated data from a
real Twenty instance
- Add generators for views, billing plans, API keys; extend record
generator for workspace members, favorites, connected accounts, calendar
events
- Remove 9 hand-written mock files replaced by generated equivalents
- Update 16 test/story files to use generated data
- Fix WorkflowEditActionEmailBase story assertion to match configured
recipient email

## Test plan
- [x] Lint, typecheck, unit tests pass
- [ ] Storybook tests pass in CI
2026-02-27 23:11:56 +01:00

120 lines
2.4 KiB
TypeScript

/* eslint-disable no-console, lingui/no-unlocalized-strings */
import { graphqlRequest, writeGeneratedFile } from './utils.js';
const FIND_ALL_CORE_VIEWS_QUERY = `
query FindAllCoreViews {
getCoreViews {
id
name
objectMetadataId
type
key
icon
position
isCompact
openRecordIn
kanbanAggregateOperation
kanbanAggregateOperationFieldMetadataId
mainGroupByFieldMetadataId
shouldHideEmptyGroups
anyFieldFilterValue
calendarFieldMetadataId
calendarLayout
visibility
createdByUserWorkspaceId
viewFields {
id
fieldMetadataId
viewId
isVisible
position
size
aggregateOperation
createdAt
updatedAt
deletedAt
}
viewFieldGroups {
id
name
position
isVisible
viewId
createdAt
updatedAt
deletedAt
viewFields {
id
fieldMetadataId
viewId
isVisible
position
size
aggregateOperation
createdAt
updatedAt
deletedAt
}
}
viewFilters {
id
fieldMetadataId
operand
value
viewFilterGroupId
positionInViewFilterGroup
subFieldName
viewId
createdAt
updatedAt
deletedAt
}
viewFilterGroups {
id
parentViewFilterGroupId
logicalOperator
positionInViewFilterGroup
viewId
}
viewSorts {
id
fieldMetadataId
direction
viewId
}
viewGroups {
id
isVisible
fieldValue
position
viewId
createdAt
updatedAt
deletedAt
}
}
}
`;
export const generateViews = async (token: string) => {
console.log('Fetching views from /metadata ...');
const data = (await graphqlRequest(
'/metadata',
FIND_ALL_CORE_VIEWS_QUERY,
token,
)) as {
getCoreViews: Record<string, unknown>[];
};
console.log(` Got ${data.getCoreViews.length} views.`);
writeGeneratedFile(
'metadata/views/mock-views-data.ts',
'mockedCoreViews',
'CoreViewWithRelations[]',
"import { type CoreViewWithRelations } from '@/views/types/CoreViewWithRelations';",
data.getCoreViews,
);
};