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,
|
objectMetadataItemMock,
|
||||||
} from 'src/engine/api/__mocks__/object-metadata-item.mock';
|
} 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 { 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', () => {
|
describe('mapFieldMetadataToGraphqlQuery', () => {
|
||||||
it('should map properly', () => {
|
it('should map properly', () => {
|
||||||
expect(
|
expect(
|
||||||
mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldNumberMock),
|
mapFieldMetadataToGraphqlQuery([objectMetadataItemMock], fieldNumberMock),
|
||||||
).toEqual('fieldNumber');
|
).toEqual('fieldNumber');
|
||||||
expect(
|
expect(
|
||||||
mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldTextMock),
|
mapFieldMetadataToGraphqlQuery([objectMetadataItemMock], fieldTextMock),
|
||||||
).toEqual('fieldText');
|
).toEqual('fieldText');
|
||||||
expect(
|
expect(
|
||||||
mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldLinkMock),
|
mapFieldMetadataToGraphqlQuery([objectMetadataItemMock], fieldLinkMock),
|
||||||
).toEqual(`
|
).toEqual(`
|
||||||
fieldLink
|
fieldLink
|
||||||
{
|
{
|
||||||
@ -25,7 +27,10 @@ describe('mapFieldMetadataToGraphqlQuery', () => {
|
|||||||
}
|
}
|
||||||
`);
|
`);
|
||||||
expect(
|
expect(
|
||||||
mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldCurrencyMock),
|
mapFieldMetadataToGraphqlQuery(
|
||||||
|
[objectMetadataItemMock],
|
||||||
|
fieldCurrencyMock,
|
||||||
|
),
|
||||||
).toEqual(`
|
).toEqual(`
|
||||||
fieldCurrency
|
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.UUID,
|
||||||
FieldMetadataType.TEXT,
|
FieldMetadataType.TEXT,
|
||||||
FieldMetadataType.PHONE,
|
FieldMetadataType.PHONE,
|
||||||
|
FieldMetadataType.EMAIL,
|
||||||
FieldMetadataType.DATE_TIME,
|
FieldMetadataType.DATE_TIME,
|
||||||
FieldMetadataType.DATE,
|
FieldMetadataType.DATE,
|
||||||
FieldMetadataType.EMAIL,
|
|
||||||
FieldMetadataType.NUMBER,
|
|
||||||
FieldMetadataType.SELECT,
|
|
||||||
FieldMetadataType.RATING,
|
|
||||||
FieldMetadataType.BOOLEAN,
|
FieldMetadataType.BOOLEAN,
|
||||||
|
FieldMetadataType.NUMBER,
|
||||||
|
FieldMetadataType.NUMERIC,
|
||||||
|
FieldMetadataType.PROBABILITY,
|
||||||
|
FieldMetadataType.RATING,
|
||||||
|
FieldMetadataType.SELECT,
|
||||||
|
FieldMetadataType.MULTI_SELECT,
|
||||||
FieldMetadataType.POSITION,
|
FieldMetadataType.POSITION,
|
||||||
|
FieldMetadataType.RAW_JSON,
|
||||||
].includes(fieldType);
|
].includes(fieldType);
|
||||||
|
|
||||||
if (fieldIsSimpleValue) {
|
if (fieldIsSimpleValue) {
|
||||||
|
|||||||
Reference in New Issue
Block a user