Skip to content

Commit

Permalink
Fix draft expanded levels (#806)
Browse files Browse the repository at this point in the history
* fix: Correct hierarchy with expanded sub-nodes after draft creation

After creating a draft for an existing node, getting the hierarchy with
expanded subnodes was returning the nodes in a wrong order.

* fix: remove draft from the hierarchy response

* fix: adjust the draft admninistrative data

---------

Co-authored-by: Vincent ESCALIER <vincent.escalier@sap.com>
  • Loading branch information
nlunets and vescalier committed Mar 25, 2024
1 parent 869f92e commit 536e307
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 7 deletions.
5 changes: 5 additions & 0 deletions .changeset/thirty-baboons-behave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sap-ux/fe-mockserver-core': patch
---

Adjust the draft administrative data
33 changes: 27 additions & 6 deletions packages/fe-mockserver-core/src/data/entitySets/draftEntitySet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,20 @@ type DraftElement = {

type DraftAdministrativeData = {
DraftUUID: string;
DraftEntityType: string;
CreationDateTime: string;
CreatedByUser: string;
DraftIsCreatedByMe: boolean;
LastChangeDateTime: string;
CreatedByUser: string;
LastChangedByUser: string;
DraftAccessType: string;
InProcessByUser: string;
DraftIsKeptByUser: boolean;
DraftIsCreatedByMe: boolean;
DraftIsLastChangedByMe: boolean;
DraftIsProcessedByMe: boolean;
CreatedByUserDescription: string;
LastChangedByUserDescription: string;
InProcessByUserDescription: string;
};

export class DraftMockEntitySet extends MockDataEntitySet {
Expand Down Expand Up @@ -198,13 +205,20 @@ export class DraftMockEntitySet extends MockDataEntitySet {
const currentDate = _getDateTimeOffset(this.isV4());
duplicate.DraftAdministrativeData = {
DraftUUID: uuidv4(),
DraftEntityType: this.entityTypeDefinition.fullyQualifiedName,
CreationDateTime: currentDate,
CreatedByUser: 'nobody',
DraftIsCreatedByMe: true,
LastChangeDateTime: currentDate,
LastChangedByUser: 'nobody',
DraftAccessType: '',
InProcessByUser: 'nobody',
DraftIsProcessedByMe: true
DraftIsKeptByUser: false,
DraftIsCreatedByMe: true,
DraftIsLastChangedByMe: true,
DraftIsProcessedByMe: true,
CreatedByUserDescription: 'nobody',
LastChangedByUserDescription: 'nobody',
InProcessByUserDescription: 'nobody'
};
await currentMockData.addEntry(duplicate, odataRequest);
await this.createInactiveVersionForNavigations(data, tenantId, odataRequest);
Expand Down Expand Up @@ -359,13 +373,20 @@ export class DraftMockEntitySet extends MockDataEntitySet {
const currentDate = _getDateTimeOffset(this.isV4());
postData.DraftAdministrativeData = {
DraftUUID: postData.DraftUUID ?? uuidv4(),
DraftEntityType: this.entityTypeDefinition.fullyQualifiedName,
CreationDateTime: currentDate,
CreatedByUser: 'nobody',
DraftIsCreatedByMe: true,
LastChangeDateTime: currentDate,
LastChangedByUser: 'nobody',
DraftAccessType: '',
InProcessByUser: 'nobody',
DraftIsProcessedByMe: true
DraftIsKeptByUser: false,
DraftIsCreatedByMe: true,
DraftIsLastChangedByMe: true,
DraftIsProcessedByMe: true,
CreatedByUserDescription: 'nobody',
LastChangedByUserDescription: 'nobody',
InProcessByUserDescription: 'nobody'
};
return super.performPOST(keyValues, postData, tenantId, odataRequest);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ exports[`Data Access v2metadata - it can GET data for an entity with keys that n
}
`;

exports[`Data Access v2metadata - it can POST data for an entity 1`] = `"{"d":{"StartingSaleDate":"2022-12-21T00:00:00","Activation_ac":false,"Copy_ac":false,"Copy_new_supplier_ac":false,"Create_review_post_ac":false,"Delete_ext_ac":false,"Edit_ac":false,"Favorites_add_ac":false,"Favorites_remove_ac":false,"Favorites_toggle_ac":false,"Mycart_add_ac":false,"Preparation_ac":false,"Shortage_list_ac":false,"Validation_ac":false,"Description_fc":0,"ProductForEdit_fc":0,"ProductID":1,"Product":"Acme_%Bazooka","ProductForEdit":"","ProductCategory":"","Price":3,"Currency":"","Height":0,"Width":0,"Depth":0,"DimensionUnit":"","ProductPictureURL":"","Supplier":"Acme FR","ProductBaseUnit":"","Weight":0,"WeightUnit":"","OriginalLanguage":"","Name":"Acme Bazooka","Description":"","DraftUUID":"0c241e36-7e4c-44b4-a748-3bf31fcc2135","DraftEntityCreationDateTime":"/Date()/","DraftEntityLastChangeDateTime":"/Date()/","HasActiveEntity":false,"HasDraftEntity":false,"IsActiveEntity":false,"DraftAdministrativeData":{"DraftUUID":"0c241e36-7e4c-44b4-a748-3bf31fcc2135","CreationDateTime":"/Date()/","CreatedByUser":"nobody","DraftIsCreatedByMe":true,"LastChangeDateTime":"/Date()/","LastChangedByUser":"nobody","InProcessByUser":"nobody","DraftIsProcessedByMe":true},"__metadata":{"id":"undefined/SEPMRA_C_PD_Product(ProductID=1,DraftUUID=guid'0c241e36-7e4c-44b4-a748-3bf31fcc2135',IsActiveEntity=false)","uri":"undefined/SEPMRA_C_PD_Product(ProductID=1,DraftUUID=guid'0c241e36-7e4c-44b4-a748-3bf31fcc2135',IsActiveEntity=false)","type":"SEPMRA_PROD_MAN.SEPMRA_C_PD_ProductType"}}}"`;
exports[`Data Access v2metadata - it can POST data for an entity 1`] = `"{"d":{"StartingSaleDate":"2022-12-21T00:00:00","Activation_ac":false,"Copy_ac":false,"Copy_new_supplier_ac":false,"Create_review_post_ac":false,"Delete_ext_ac":false,"Edit_ac":false,"Favorites_add_ac":false,"Favorites_remove_ac":false,"Favorites_toggle_ac":false,"Mycart_add_ac":false,"Preparation_ac":false,"Shortage_list_ac":false,"Validation_ac":false,"Description_fc":0,"ProductForEdit_fc":0,"ProductID":1,"Product":"Acme_%Bazooka","ProductForEdit":"","ProductCategory":"","Price":3,"Currency":"","Height":0,"Width":0,"Depth":0,"DimensionUnit":"","ProductPictureURL":"","Supplier":"Acme FR","ProductBaseUnit":"","Weight":0,"WeightUnit":"","OriginalLanguage":"","Name":"Acme Bazooka","Description":"","DraftUUID":"0c241e36-7e4c-44b4-a748-3bf31fcc2135","DraftEntityCreationDateTime":"/Date()/","DraftEntityLastChangeDateTime":"/Date()/","HasActiveEntity":false,"HasDraftEntity":false,"IsActiveEntity":false,"DraftAdministrativeData":{"DraftUUID":"0c241e36-7e4c-44b4-a748-3bf31fcc2135","DraftEntityType":"SEPMRA_PROD_MAN.SEPMRA_C_PD_ProductType","CreationDateTime":"/Date()/","CreatedByUser":"nobody","LastChangeDateTime":"/Date()/","LastChangedByUser":"nobody","DraftAccessType":"","InProcessByUser":"nobody","DraftIsKeptByUser":false,"DraftIsCreatedByMe":true,"DraftIsLastChangedByMe":true,"DraftIsProcessedByMe":true,"CreatedByUserDescription":"nobody","LastChangedByUserDescription":"nobody","InProcessByUserDescription":"nobody"},"__metadata":{"id":"undefined/SEPMRA_C_PD_Product(ProductID=1,DraftUUID=guid'0c241e36-7e4c-44b4-a748-3bf31fcc2135',IsActiveEntity=false)","uri":"undefined/SEPMRA_C_PD_Product(ProductID=1,DraftUUID=guid'0c241e36-7e4c-44b4-a748-3bf31fcc2135',IsActiveEntity=false)","type":"SEPMRA_PROD_MAN.SEPMRA_C_PD_ProductType"}}}"`;

exports[`Data Access v2metadata - it can POST data for an entity 2`] = `
{
Expand Down

0 comments on commit 536e307

Please sign in to comment.