feat(order): cancel fulfillment (#7573)

This commit is contained in:
Carlos R. L. Rodrigues
2024-06-02 09:33:24 -03:00
committed by GitHub
parent 4e04214612
commit af0140d317
30 changed files with 745 additions and 298 deletions
@@ -95,7 +95,7 @@ describe("Order Return - Actions", function () {
order: originalOrder,
actions,
})
}).toThrow(`Reference ID "333" not found.`)
}).toThrow(`Item ID "333" not found.`)
})
it("should validate return received", function () {
@@ -2142,6 +2142,40 @@ export default class OrderModuleService<
await this.confirmOrderChange(change[0].id, sharedContext)
}
@InjectTransactionManager("baseRepository_")
async cancelFulfillment(
data: OrderTypes.CancelOrderFulfillmentDTO,
sharedContext?: Context
): Promise<void> {
const items = data.items.map((item) => {
return {
action: ChangeActionType.CANCEL_ITEM_FULFILLMENT,
internal_note: item.internal_note,
reference: data.reference,
reference_id: data.reference_id,
details: {
reference_id: item.id,
quantity: item.quantity,
metadata: item.metadata,
},
}
})
const change = await this.createOrderChange_(
{
order_id: data.order_id,
description: data.description,
internal_note: data.internal_note,
created_by: data.created_by,
metadata: data.metadata,
actions: items,
},
sharedContext
)
await this.confirmOrderChange(change[0].id, sharedContext)
}
@InjectTransactionManager("baseRepository_")
async registerShipment(
data: OrderTypes.RegisterOrderShipmentDTO,