diff --git a/integration-tests/api/__tests__/admin/draft-order.js b/integration-tests/api/__tests__/admin/draft-order.js index 6a2f06bf24..4fc03c8605 100644 --- a/integration-tests/api/__tests__/admin/draft-order.js +++ b/integration-tests/api/__tests__/admin/draft-order.js @@ -649,18 +649,19 @@ describe("/admin/draft-orders", () => { ) expect(orderResponse.status).toEqual(200) - // expect newly created order to have id of draft order and system payment + // expect newly created order to have id of draft order expect(createdOrder.data.order.draft_order_id).toEqual("test-draft-order") - expect(createdOrder.data.order.payments).toEqual( - expect.arrayContaining([ - expect.objectContaining({ provider_id: "system" }), - ]) - ) + // expect system payment provider and the payment to be "captured" + expect(createdOrder.data.order.payments.length).toEqual(1) + expect(createdOrder.data.order.payments[0].provider_id).toEqual("system") + expect(createdOrder.data.order.payments[0].captured_at).not.toEqual(null) + // expect draft order to be complete expect(updatedDraftOrder.data.draft_order.status).toEqual("completed") expect(updatedDraftOrder.data.draft_order.completed_at).not.toEqual(null) }) }) + describe("GET /admin/draft-orders", () => { beforeEach(async () => { await adminSeeder(dbConnection) diff --git a/packages/medusa/src/api/routes/admin/draft-orders/register-payment.ts b/packages/medusa/src/api/routes/admin/draft-orders/register-payment.ts index fb8dce918b..53fa81d9ec 100644 --- a/packages/medusa/src/api/routes/admin/draft-orders/register-payment.ts +++ b/packages/medusa/src/api/routes/admin/draft-orders/register-payment.ts @@ -111,6 +111,8 @@ export default async (req, res) => { await draftOrderService .withTransaction(manager) .registerCartCompletion(draftOrder.id, result.id) + + await orderService.withTransaction(manager).capturePayment(result.id) }) const order = await orderService.retrieve(result.id, {