fix(medusa): Add totals when retrieving order by cart id (#3777)

* fix(medusa): Add totals when retrieving order by cart id

* fix: Unit test

* Create .changeset/stupid-rockets-smile.md
This commit is contained in:
Oliver Windall Juhl
2023-04-11 11:40:13 +02:00
committed by GitHub
parent 8f8816cbab
commit 7f6dc44beb
9 changed files with 129 additions and 56 deletions
@@ -19,6 +19,7 @@ const {
simpleProductFactory,
simpleCartFactory,
simpleShippingOptionFactory,
simpleOrderFactory,
} = require("../../factories")
const { MedusaError } = require("medusa-core-utils")
@@ -157,6 +158,56 @@ describe("/store/carts", () => {
)
})
it("retrieves an order by cart id, with totals", async () => {
const api = useApi()
const region = await simpleRegionFactory(dbConnection)
const product = await simpleProductFactory(dbConnection)
const cartRes = await api.post("/store/carts", {
region_id: region.id,
})
const cartId = cartRes.data.cart.id
await api.post(`/store/carts/${cartId}/line-items`, {
variant_id: product.variants[0].id,
quantity: 1,
})
await api.post(`/store/carts/${cartId}`, {
email: "testmailer@medusajs.com",
})
await api.post(`/store/carts/${cartId}/payment-sessions`).catch((err) => {
console.error("Error creating payment session: ", err.response.data)
return err.response
})
const responseSuccess = await api.post(`/store/carts/${cartId}/complete`)
const orderId = responseSuccess.data.data.id
const response = await api.get("/store/orders/cart/" + cartId)
expect(response.status).toEqual(200)
expect(response.data.order).toEqual(
expect.objectContaining({
id: orderId,
cart_id: cartId,
total: 100,
gift_card_total: 0,
gift_card_tax_total: 0,
tax_total: 0,
subtotal: 100,
discount_total: 0,
shipping_total: 0,
refunded_total: 0,
paid_total: 100,
})
)
})
it("lookup order response contains only fields defined with `fields` param", async () => {
const api = useApi()