feat(medusa): Decorate OrderEdit LineItems with totals (#3108)

This commit is contained in:
Frane Polić
2023-02-06 17:32:26 +01:00
committed by GitHub
parent e22a383f47
commit 4d6e63d68f
10 changed files with 291 additions and 132 deletions
@@ -2,7 +2,6 @@ import { IdMap } from "medusa-test-utils"
import { request } from "../../../../../helpers/test-request"
import { orderEditServiceMock } from "../../../../../services/__mocks__/order-edit"
describe("GET /admin/order-edits/:id", () => {
describe("successfully requests an order edit confirmation", () => {
const orderEditId = IdMap.getId("testRequestOrder")
@@ -35,8 +34,6 @@ describe("GET /admin/order-edits/:id", () => {
orderEditId,
{ requestedBy: IdMap.getId("admin_user") }
)
expect(orderEditServiceMock.update).toHaveBeenCalledTimes(1)
})
it("returns updated orderEdit", () => {
@@ -84,7 +84,7 @@ export default async (req, res) => {
requestedBy: loggedInUser,
})
const total = await orderEditServiceTx.getTotals(orderEdit.id)
const total = await orderEditServiceTx.decorateTotals(orderEdit)
if (total.difference_due > 0) {
const order = await orderService
@@ -79,20 +79,25 @@ export default async (req: Request, res: Response) => {
const manager: EntityManager = req.scope.resolve("manager")
await manager.transaction(async (transactionManager) => {
await orderEditService
.withTransaction(transactionManager)
.updateLineItem(id, item_id, validatedBody)
})
const decoratedEdit = await manager.transaction(
async (transactionManager) => {
const orderEditTx = orderEditService.withTransaction(transactionManager)
let orderEdit = await orderEditService.retrieve(id, {
select: defaultOrderEditFields,
relations: defaultOrderEditRelations,
})
orderEdit = await orderEditService.decorateTotals(orderEdit)
await orderEditTx.updateLineItem(id, item_id, validatedBody)
const orderEdit = await orderEditTx.retrieve(id, {
select: defaultOrderEditFields,
relations: defaultOrderEditRelations,
})
await orderEditTx.decorateTotals(orderEdit)
return orderEdit
}
)
res.status(200).send({
order_edit: orderEdit,
order_edit: decoratedEdit,
})
}