Skip to content

Commit

Permalink
Minor: improve custom properties e2e test (#18861)
Browse files Browse the repository at this point in the history
  • Loading branch information
Sachin-chaurasiya authored Dec 2, 2024
1 parent cbe3241 commit 811feea
Showing 1 changed file with 71 additions and 61 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -447,79 +447,87 @@ export const createCustomPropertyForEntity = async (
};

for (const item of propertyList) {
const customPropertyName = `pwCustomProperty${uuid()}`;
const payload = {
name: customPropertyName,
description: customPropertyName,
propertyType: {
id: item.id ?? '',
type: 'type',
},
...(item.name === 'enum'
? {
customPropertyConfig: {
config: {
multiSelect: true,
values: ['small', 'medium', 'large'],
},
},
}
: {}),
...(['entityReference', 'entityReferenceList'].includes(item.name)
? {
customPropertyConfig: {
config: ['user', 'team'],
},
}
: {}),

...(item.name === 'time-cp'
? {
customPropertyConfig: {
config: 'HH:mm:ss',
},
}
: {}),

...(item.name === 'date-cp'
? {
customPropertyConfig: {
config: 'yyyy-MM-dd',
},
}
: {}),

...(item.name === 'dateTime-cp'
? {
customPropertyConfig: {
config: 'yyyy-MM-dd HH:mm:ss',
},
}
: {}),
...(item.name === 'table-cp'
? {
customPropertyConfig: {
config: {
columns: ['pw-column1', 'pw-column2'],
},
},
}
: {}),
};
const customPropertyResponse = await apiContext.put(
`/api/v1/metadata/types/${entitySchema.id}`,
{
data: {
name: `pwCustomProperty${uuid()}`,
description: `pwCustomProperty${uuid()}`,
propertyType: {
id: item.id ?? '',
type: 'type',
},
...(item.name === 'enum'
? {
customPropertyConfig: {
config: {
multiSelect: true,
values: ['small', 'medium', 'large'],
},
},
}
: {}),
...(['entityReference', 'entityReferenceList'].includes(item.name)
? {
customPropertyConfig: {
config: ['user', 'team'],
},
}
: {}),

...(item.name === 'time-cp'
? {
customPropertyConfig: {
config: 'HH:mm:ss',
},
}
: {}),

...(item.name === 'date-cp'
? {
customPropertyConfig: {
config: 'yyyy-MM-dd',
},
}
: {}),

...(item.name === 'dateTime-cp'
? {
customPropertyConfig: {
config: 'yyyy-MM-dd HH:mm:ss',
},
}
: {}),
...(item.name === 'table-cp'
? {
customPropertyConfig: {
config: {
columns: ['pw-column1', 'pw-column2'],
},
},
}
: {}),
},
data: payload,
}
);

const customProperty = await customPropertyResponse.json();

// Process the custom properties
customProperties = customProperty.customProperties.reduce(
const newProperties = customProperty.customProperties.reduce(
(
prev: Record<string, string>,
curr: Record<string, Record<string, string>>
curr: Record<string, Record<string, string> | string>
) => {
const propertyTypeName = curr.propertyType.name;
// only process the custom properties which are created via payload
if (curr.name !== customPropertyName) {
return prev;
}

const propertyTypeName = (curr.propertyType as Record<string, string>)
.name;

return {
...prev,
Expand All @@ -531,6 +539,8 @@ export const createCustomPropertyForEntity = async (
},
{}
);

customProperties = { ...customProperties, ...newProperties };
}

return { customProperties, cleanupUser };
Expand Down

0 comments on commit 811feea

Please sign in to comment.