Bug return multi select fields in rest api response (#6253)
Fixes https://discord.com/channels/1130383047699738754/1258194870703493141/1258194870703493141 ## Before  ## After 
This commit is contained in:
@ -6,17 +6,19 @@ import {
|
||||
objectMetadataItemMock,
|
||||
} from 'src/engine/api/__mocks__/object-metadata-item.mock';
|
||||
import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils';
|
||||
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||
import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity';
|
||||
|
||||
describe('mapFieldMetadataToGraphqlQuery', () => {
|
||||
it('should map properly', () => {
|
||||
expect(
|
||||
mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldNumberMock),
|
||||
mapFieldMetadataToGraphqlQuery([objectMetadataItemMock], fieldNumberMock),
|
||||
).toEqual('fieldNumber');
|
||||
expect(
|
||||
mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldTextMock),
|
||||
mapFieldMetadataToGraphqlQuery([objectMetadataItemMock], fieldTextMock),
|
||||
).toEqual('fieldText');
|
||||
expect(
|
||||
mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldLinkMock),
|
||||
mapFieldMetadataToGraphqlQuery([objectMetadataItemMock], fieldLinkMock),
|
||||
).toEqual(`
|
||||
fieldLink
|
||||
{
|
||||
@ -25,7 +27,10 @@ describe('mapFieldMetadataToGraphqlQuery', () => {
|
||||
}
|
||||
`);
|
||||
expect(
|
||||
mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldCurrencyMock),
|
||||
mapFieldMetadataToGraphqlQuery(
|
||||
[objectMetadataItemMock],
|
||||
fieldCurrencyMock,
|
||||
),
|
||||
).toEqual(`
|
||||
fieldCurrency
|
||||
{
|
||||
@ -34,4 +39,21 @@ describe('mapFieldMetadataToGraphqlQuery', () => {
|
||||
}
|
||||
`);
|
||||
});
|
||||
describe('should handle all field metadata types', () => {
|
||||
Object.values(FieldMetadataType).forEach((fieldMetadataType) => {
|
||||
it(`with field type ${fieldMetadataType}`, () => {
|
||||
const field = {
|
||||
type: fieldMetadataType,
|
||||
name: 'toObjectMetadataName',
|
||||
fromRelationMetadata: {
|
||||
relationType: RelationMetadataType.ONE_TO_MANY,
|
||||
},
|
||||
};
|
||||
|
||||
expect(
|
||||
mapFieldMetadataToGraphqlQuery([objectMetadataItemMock], field),
|
||||
).toBeDefined();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -19,14 +19,18 @@ export const mapFieldMetadataToGraphqlQuery = (
|
||||
FieldMetadataType.UUID,
|
||||
FieldMetadataType.TEXT,
|
||||
FieldMetadataType.PHONE,
|
||||
FieldMetadataType.EMAIL,
|
||||
FieldMetadataType.DATE_TIME,
|
||||
FieldMetadataType.DATE,
|
||||
FieldMetadataType.EMAIL,
|
||||
FieldMetadataType.NUMBER,
|
||||
FieldMetadataType.SELECT,
|
||||
FieldMetadataType.RATING,
|
||||
FieldMetadataType.BOOLEAN,
|
||||
FieldMetadataType.NUMBER,
|
||||
FieldMetadataType.NUMERIC,
|
||||
FieldMetadataType.PROBABILITY,
|
||||
FieldMetadataType.RATING,
|
||||
FieldMetadataType.SELECT,
|
||||
FieldMetadataType.MULTI_SELECT,
|
||||
FieldMetadataType.POSITION,
|
||||
FieldMetadataType.RAW_JSON,
|
||||
].includes(fieldType);
|
||||
|
||||
if (fieldIsSimpleValue) {
|
||||
|
||||
Reference in New Issue
Block a user