Files
twenty/packages/twenty-server/test/integration/rest/utils/page-layout-rest-api.util.ts
T

42 lines
1.3 KiB
TypeScript

import { makeRestAPIRequest } from 'test/integration/rest/utils/make-rest-api-request.util';
import { generateRecordName } from 'test/integration/utils/generate-record-name';
import { type PageLayoutEntity } from 'src/engine/core-modules/page-layout/entities/page-layout.entity';
import { PageLayoutType } from 'src/engine/core-modules/page-layout/enums/page-layout-type.enum';
export const createTestPageLayoutWithRestApi = async (
overrides: Partial<PageLayoutEntity> = {},
): Promise<PageLayoutEntity> => {
const pageLayoutData = {
name: generateRecordName('Test Page Layout'),
type: PageLayoutType.RECORD_PAGE,
objectMetadataId: null,
...overrides,
};
const response = await makeRestAPIRequest({
method: 'post',
path: '/metadata/page-layouts',
body: pageLayoutData,
bearer: API_KEY_ACCESS_TOKEN,
});
if (response.status !== 201) {
throw new Error(
`Failed to create test page layout: ${response.status} - ${JSON.stringify(response.body)}`,
);
}
return response.body;
};
export const deleteTestPageLayoutWithRestApi = async (
pageLayoutId: string,
): Promise<void> => {
await makeRestAPIRequest({
method: 'delete',
path: `/metadata/page-layouts/${pageLayoutId}`,
bearer: API_KEY_ACCESS_TOKEN,
}).catch(() => {});
};