feat(core-flows,medusa,utils,types): adds delivered_quantity to order (#9130)
what: - adds delivered_quantity to order https://github.com/user-attachments/assets/709b1727-08ed-4a88-ae29-38f13540e301
This commit is contained in:
@@ -195,5 +195,18 @@ export async function createOrderSeeder({ api, container }) {
|
||||
|
||||
order = (await api.get(`/admin/orders/${order.id}`, adminHeaders)).data.order
|
||||
|
||||
return order
|
||||
return {
|
||||
order,
|
||||
region,
|
||||
salesChannel,
|
||||
stockLocation,
|
||||
inventoryItem,
|
||||
shippingProfile,
|
||||
product,
|
||||
fulfillmentSets,
|
||||
fulfillmentSet,
|
||||
shippingOption,
|
||||
cart,
|
||||
paymentCollection,
|
||||
}
|
||||
}
|
||||
|
||||
88
integration-tests/http/__tests__/order/admin/order.spec.ts
Normal file
88
integration-tests/http/__tests__/order/admin/order.spec.ts
Normal file
@@ -0,0 +1,88 @@
|
||||
import { ModuleRegistrationName } from "@medusajs/utils"
|
||||
import { medusaIntegrationTestRunner } from "medusa-test-utils"
|
||||
import {
|
||||
adminHeaders,
|
||||
createAdminUser,
|
||||
} from "../../../../helpers/create-admin-user"
|
||||
import { setupTaxStructure } from "../../../../modules/__tests__/fixtures"
|
||||
import { createOrderSeeder } from "../../fixtures/order"
|
||||
|
||||
jest.setTimeout(30000)
|
||||
|
||||
medusaIntegrationTestRunner({
|
||||
testSuite: ({ dbConnection, getContainer, api }) => {
|
||||
let order, seeder
|
||||
|
||||
beforeEach(async () => {
|
||||
const container = getContainer()
|
||||
|
||||
await setupTaxStructure(container.resolve(ModuleRegistrationName.TAX))
|
||||
await createAdminUser(dbConnection, adminHeaders, container)
|
||||
seeder = await createOrderSeeder({ api, container })
|
||||
order = seeder.order
|
||||
order = (await api.get(`/admin/orders/${order.id}`, adminHeaders)).data
|
||||
.order
|
||||
})
|
||||
|
||||
describe("POST /orders/:id/fulfillments/:id/mark-as-delivered", () => {
|
||||
it("should mark fulfillable item as delivered", async () => {
|
||||
let fulfillableItem = order.items.find(
|
||||
(item) => item.detail.fulfilled_quantity < item.detail.quantity
|
||||
)
|
||||
|
||||
await api.post(
|
||||
`/admin/orders/${order.id}/fulfillments`,
|
||||
{
|
||||
location_id: seeder.stockLocation.id,
|
||||
items: [
|
||||
{
|
||||
id: fulfillableItem.id,
|
||||
quantity: 1,
|
||||
},
|
||||
],
|
||||
},
|
||||
adminHeaders
|
||||
)
|
||||
|
||||
order = (await api.get(`/admin/orders/${order.id}`, adminHeaders)).data
|
||||
.order
|
||||
|
||||
expect(order.items[0].detail).toEqual(
|
||||
expect.objectContaining({
|
||||
fulfilled_quantity: 1,
|
||||
delivered_quantity: 0,
|
||||
})
|
||||
)
|
||||
|
||||
await api.post(
|
||||
`/admin/orders/${order.id}/fulfillments/${order.fulfillments[0].id}/mark-as-delivered`,
|
||||
{},
|
||||
adminHeaders
|
||||
)
|
||||
|
||||
order = (await api.get(`/admin/orders/${order.id}`, adminHeaders)).data
|
||||
.order
|
||||
|
||||
expect(order.items[0].detail).toEqual(
|
||||
expect.objectContaining({
|
||||
fulfilled_quantity: 1,
|
||||
delivered_quantity: 1,
|
||||
})
|
||||
)
|
||||
|
||||
const { response } = await api
|
||||
.post(
|
||||
`/admin/orders/${order.id}/fulfillments/${order.fulfillments[0].id}/mark-as-delivered`,
|
||||
{},
|
||||
adminHeaders
|
||||
)
|
||||
.catch((e) => e)
|
||||
|
||||
expect(response.data).toEqual({
|
||||
type: "not_allowed",
|
||||
message: "Fulfillment has already been marked delivered",
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
})
|
||||
@@ -24,7 +24,8 @@ medusaIntegrationTestRunner({
|
||||
|
||||
await setupTaxStructure(container.resolve(Modules.TAX))
|
||||
await createAdminUser(dbConnection, adminHeaders, container)
|
||||
order = await createOrderSeeder({ api, container })
|
||||
const seeders = await createOrderSeeder({ api, container })
|
||||
order = seeders.order
|
||||
|
||||
shippingProfile = (
|
||||
await api.post(
|
||||
@@ -157,7 +158,7 @@ medusaIntegrationTestRunner({
|
||||
})
|
||||
|
||||
describe("RMA Flows", () => {
|
||||
it.only("should verify order summary at each level", async () => {
|
||||
it("should verify order summary at each level", async () => {
|
||||
/* Case:
|
||||
Purchased:
|
||||
items: {
|
||||
|
||||
@@ -37,7 +37,8 @@ medusaIntegrationTestRunner({
|
||||
beforeEach(async () => {
|
||||
container = getContainer()
|
||||
await createAdminUser(dbConnection, adminHeaders, container)
|
||||
order = await createOrderSeeder({ api, container })
|
||||
const seeders = await createOrderSeeder({ api, container })
|
||||
order = seeders.order
|
||||
|
||||
await api.post(
|
||||
`/admin/orders/${order.id}/fulfillments`,
|
||||
|
||||
Reference in New Issue
Block a user