Files
twenty/packages/twenty-server/test/integration/graphql/utils/find-one-operation.util.ts
T
Félix MalfaitandGitHub 8b4b9ef8da Change type import rule (#13751)
Forcing "type" to be explicit, works best will rollup on the frontend to
exclude depdendencies
2025-08-08 01:27:05 +02:00

41 lines
1.3 KiB
TypeScript

import { findOneOperationFactory } from 'test/integration/graphql/utils/find-one-operation-factory.util';
import { makeGraphqlAPIRequest } from 'test/integration/graphql/utils/make-graphql-api-request.util';
import { type CommonResponseBody } from 'test/integration/metadata/types/common-response-body.type';
import { warnIfNoErrorButExpectedToFail } from 'test/integration/metadata/utils/warn-if-no-error-but-expected-to-fail.util';
import { type ObjectRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface';
type FindOneOperationArgs = Parameters<typeof findOneOperationFactory>[0] & {
expectToFail?: boolean;
};
export const findOneOperation = async ({
gqlFields = 'id',
objectMetadataSingularName,
expectToFail = false,
filter,
}: FindOneOperationArgs): CommonResponseBody<{
findResponse: ObjectRecord;
}> => {
const graphqlOperation = findOneOperationFactory({
objectMetadataSingularName,
gqlFields,
filter,
});
const response = await makeGraphqlAPIRequest(graphqlOperation);
if (expectToFail) {
warnIfNoErrorButExpectedToFail({
response,
errorMessage: 'Find one operation should have failed but did not',
});
}
return {
data: {
findResponse: response.body.data[objectMetadataSingularName],
},
errors: response.body.errors,
};
};